@Test public void testNegativeValueNoChange() { Threshold threshold = new Threshold(); threshold.setType(ThresholdType.RELATIVE_CHANGE); threshold.setDsName("ds-name"); threshold.setDsType("node"); threshold.setValue(0.9); threshold.setRearm(0.5); threshold.setTrigger(1); ThresholdConfigWrapper wrapper = new ThresholdConfigWrapper(threshold); ThresholdEvaluatorStateRelativeChange evaluator = new ThresholdEvaluatorStateRelativeChange( wrapper); assertEquals("should not trigger", Status.NO_CHANGE, evaluator .evaluate(-10.0)); assertEquals("should not trigger", Status.NO_CHANGE, evaluator .evaluate(-10.0)); } }
@Test public void testEvaluateThriceTriggerHighFirstZero() { Threshold threshold = new Threshold(); threshold.setType(ThresholdType.RELATIVE_CHANGE); threshold.setDsName("ds-name"); threshold.setDsType("node"); threshold.setValue(1.1); threshold.setRearm(0.5); threshold.setTrigger(3); ThresholdConfigWrapper wrapper=new ThresholdConfigWrapper(threshold); ThresholdEvaluatorStateRelativeChange evaluator = new ThresholdEvaluatorStateRelativeChange(wrapper); assertEquals("should not trigger on first evaluate", Status.NO_CHANGE, evaluator.evaluate(0.0)); assertEquals("should not trigger on second evaluate", Status.NO_CHANGE, evaluator.evaluate(1000.0)); assertEquals("should trigger on third evaluate", Status.TRIGGERED, evaluator.evaluate(1200.0)); }
@Test public void testEvaluateTwiceTriggerLowEqual() { Threshold threshold = new Threshold(); threshold.setType(ThresholdType.RELATIVE_CHANGE); threshold.setDsName("ds-name"); threshold.setDsType("node"); threshold.setValue(0.9); threshold.setRearm(0.5); threshold.setTrigger(3); ThresholdConfigWrapper wrapper=new ThresholdConfigWrapper(threshold); ThresholdEvaluatorStateRelativeChange evaluator = new ThresholdEvaluatorStateRelativeChange(wrapper); assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(10.0)); assertEquals("should trigger", Status.TRIGGERED, evaluator.evaluate(9.0)); }
@Test public void testEvaluateTwiceTriggerLowBelow() { Threshold threshold = new Threshold(); threshold.setType(ThresholdType.RELATIVE_CHANGE); threshold.setDsName("ds-name"); threshold.setDsType("node"); threshold.setValue(0.9); threshold.setRearm(0.5); threshold.setTrigger(3); ThresholdConfigWrapper wrapper=new ThresholdConfigWrapper(threshold); ThresholdEvaluatorStateRelativeChange evaluator = new ThresholdEvaluatorStateRelativeChange(wrapper); assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(10.0)); assertEquals("should trigger", Status.TRIGGERED, evaluator.evaluate(8.0)); }
@Test public void testEvaluateTwiceNoTriggerHighBelow() { Threshold threshold = new Threshold(); threshold.setType(ThresholdType.RELATIVE_CHANGE); threshold.setDsName("ds-name"); threshold.setDsType("node"); threshold.setValue(1.1); threshold.setRearm(0.5); threshold.setTrigger(3); ThresholdConfigWrapper wrapper=new ThresholdConfigWrapper(threshold); ThresholdEvaluatorStateRelativeChange evaluator = new ThresholdEvaluatorStateRelativeChange(wrapper); assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(10.0)); assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(10.5)); }
@Test public void testEvaluateTwiceNoTriggerLowAbove() { Threshold threshold = new Threshold(); threshold.setType(ThresholdType.RELATIVE_CHANGE); threshold.setDsName("ds-name"); threshold.setDsType("node"); threshold.setValue(0.9); threshold.setRearm(0.5); threshold.setTrigger(3); ThresholdConfigWrapper wrapper=new ThresholdConfigWrapper(threshold); ThresholdEvaluatorStateRelativeChange evaluator = new ThresholdEvaluatorStateRelativeChange(wrapper); assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(10.0)); assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(9.5)); }
@Test public void testEvaluateTwiceNoTriggerHighFirstZero() { Threshold threshold = new Threshold(); threshold.setType(ThresholdType.RELATIVE_CHANGE); threshold.setDsName("ds-name"); threshold.setDsType("node"); threshold.setValue(1.1); threshold.setRearm(0.5); threshold.setTrigger(3); ThresholdConfigWrapper wrapper=new ThresholdConfigWrapper(threshold); ThresholdEvaluatorStateRelativeChange evaluator = new ThresholdEvaluatorStateRelativeChange(wrapper); assertEquals("should not trigger on first evaluate", Status.NO_CHANGE, evaluator.evaluate(0.0)); assertEquals("should not trigger on second evaluate", Status.NO_CHANGE, evaluator.evaluate(1000.0)); }
@Test public void testEvaluateTwiceTriggerHighEqual() { Threshold threshold = new Threshold(); threshold.setType(ThresholdType.RELATIVE_CHANGE); threshold.setDsName("ds-name"); threshold.setDsType("node"); threshold.setValue(1.1); threshold.setRearm(0.5); threshold.setTrigger(3); ThresholdConfigWrapper wrapper=new ThresholdConfigWrapper(threshold); ThresholdEvaluatorStateRelativeChange evaluator = new ThresholdEvaluatorStateRelativeChange(wrapper); assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(10.0)); assertEquals("should trigger", Status.TRIGGERED, evaluator.evaluate(11.0)); }
@Test public void testEvaluateTwiceTriggerHighAbove() { Threshold threshold = new Threshold(); threshold.setType(ThresholdType.RELATIVE_CHANGE); threshold.setDsName("ds-name"); threshold.setDsType("node"); threshold.setValue(1.1); threshold.setRearm(0.5); threshold.setTrigger(3); ThresholdConfigWrapper wrapper=new ThresholdConfigWrapper(threshold); ThresholdEvaluatorStateRelativeChange evaluator = new ThresholdEvaluatorStateRelativeChange(wrapper); assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(10.0)); assertEquals("should trigger", Status.TRIGGERED, evaluator.evaluate(12.0)); }
@Test public void testEvaluateOnce() { Threshold threshold = new Threshold(); threshold.setType(ThresholdType.RELATIVE_CHANGE); threshold.setDsName("ds-name"); threshold.setDsType("node"); threshold.setValue(0.9); threshold.setRearm(0.5); threshold.setTrigger(3); ThresholdConfigWrapper wrapper=new ThresholdConfigWrapper(threshold); ThresholdEvaluatorStateRelativeChange evaluator = new ThresholdEvaluatorStateRelativeChange(wrapper); assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(10.0)); }
@Test public void testNegativeNumberTriggers() { Threshold threshold = new Threshold(); threshold.setType(ThresholdType.RELATIVE_CHANGE); threshold.setDsName("ds-name"); threshold.setDsType("node"); threshold.setValue(1.1); threshold.setRearm(0.5); threshold.setTrigger(3); ThresholdConfigWrapper wrapper=new ThresholdConfigWrapper(threshold); ThresholdEvaluatorStateRelativeChange evaluator = new ThresholdEvaluatorStateRelativeChange(wrapper); assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(-10.0)); assertEquals("should trigger", Status.TRIGGERED, evaluator.evaluate(-12.0)); }
@Test public void testEvaluateTwiceNoTrigger() { Threshold threshold = new Threshold(); threshold.setType(ThresholdType.RELATIVE_CHANGE); threshold.setDsName("ds-name"); threshold.setDsType("node"); threshold.setValue(0.9); threshold.setRearm(0.5); threshold.setTrigger(3); ThresholdConfigWrapper wrapper=new ThresholdConfigWrapper(threshold); ThresholdEvaluatorStateRelativeChange evaluator = new ThresholdEvaluatorStateRelativeChange(wrapper); assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(10.0)); assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(10.0)); }
@Test public void testNegativeNumberNotTriggers() { Threshold threshold = new Threshold(); threshold.setType(ThresholdType.RELATIVE_CHANGE); threshold.setDsName("ds-name"); threshold.setDsType("node"); threshold.setValue(1.1); threshold.setRearm(0.5); threshold.setTrigger(3); ThresholdConfigWrapper wrapper=new ThresholdConfigWrapper(threshold); ThresholdEvaluatorStateRelativeChange evaluator = new ThresholdEvaluatorStateRelativeChange(wrapper); assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(-10.0)); assertEquals("should not trigger", Status.NO_CHANGE, evaluator.evaluate(-10.5)); }