+
+ /**
+ * Tests for integer comparison conditions
+ */
+ @Test(groups = "Functional")
+ public void testMatches_long()
+ {
+ /*
+ * EQUALS test
+ */
+ MatcherI m = new Matcher(Condition.EQ, 2);
+ assertTrue(m.matches("2"));
+ assertTrue(m.matches("+2"));
+ assertFalse(m.matches("3"));
+ // a float value may be passed to an integer matcher
+ assertTrue(m.matches("2.0"));
+ assertTrue(m.matches("2.000000f"));
+ assertFalse(m.matches("2.01"));
+
+ /*
+ * NOT EQUALS test
+ */
+ m = new Matcher(Condition.NE, 123);
+ assertFalse(m.matches("123"));
+ assertFalse(m.matches("123.0"));
+ assertTrue(m.matches("-123"));
+
+ /*
+ * >= test
+ */
+ m = new Matcher(Condition.GE, "113890813");
+ assertTrue(m.matches("113890813"));
+ assertTrue(m.matches("113890814"));
+ assertFalse(m.matches("-113890813"));
+
+ /*
+ * > test
+ */
+ m = new Matcher(Condition.GT, 113890813);
+ assertFalse(m.matches("113890813"));
+ assertTrue(m.matches("113890814"));
+
+ /*
+ * <= test
+ */
+ m = new Matcher(Condition.LE, "113890813");
+ assertTrue(m.matches("113890813"));
+ assertFalse(m.matches("113890814"));
+ assertTrue(m.matches("113890812"));
+
+ /*
+ * < test
+ */
+ m = new Matcher(Condition.LT, 113890813);
+ assertFalse(m.matches("113890813"));
+ assertFalse(m.matches("113890814"));
+ assertTrue(m.matches("113890812"));
+ }
+
+ /**
+ * Tests comparing a float value with an integer condition
+ */
+ @Test(groups = "Functional")
+ public void testMatches_floatValueIntegerCondition()
+ {
+ MatcherI m = new Matcher(Condition.GT, 1234);
+ assertEquals(PA.getValue(m, "longValue"), 1234L);
+ assertSame(PA.getValue(m, "patternType"), PatternType.Integer);
+ assertTrue(m.matches("1235"));
+ assertTrue(m.matches("9867.345"));
+ assertTrue(m.matches("9867.345f"));
+ }