@Test public void testStringDefault() throws Exception { // GIVEN MatchingRule<String> rule = matchingRuleRegistry.getMatchingRule(null, DOMUtil.XSD_STRING); // WHEN, THEN assertMatch(rule, "foo", "foo"); assertNoMatch(rule, "foo", "bar"); assertNoMatch(rule, "foo", "Foo"); assertNoMatch(rule, "FOO", "Foo"); assertNormalized(rule, "Foo", "Foo"); assertNormalized(rule, "baR", "baR"); }
@Test public void testPolyStringStrict() throws Exception { // GIVEN MatchingRule<PolyString> rule = matchingRuleRegistry.getMatchingRule(PrismConstants.POLY_STRING_STRICT_MATCHING_RULE_NAME, PolyStringType.COMPLEX_TYPE); // WHEN, THEN assertMatch(rule, new PolyString("Bar", "bar"), new PolyString("Bar", "bar")); assertNoMatch(rule, new PolyString("BAR", "bar"), new PolyString("Foo", "bar")); assertNoMatch(rule, new PolyString("Bar", "bar"), new PolyString("bAR", "bar")); assertNoMatch(rule, new PolyString("Bar", "bar"), new PolyString("Bar", "barbar")); }
@Test public void testPolyStringOrig() throws Exception { // GIVEN MatchingRule<PolyString> rule = matchingRuleRegistry.getMatchingRule(PrismConstants.POLY_STRING_ORIG_MATCHING_RULE_NAME, PolyStringType.COMPLEX_TYPE); // WHEN, THEN assertMatch(rule, new PolyString("Bar", "bar"), new PolyString("Bar", "bar")); assertNoMatch(rule, new PolyString("BAR", "bar"), new PolyString("Foo", "bar")); assertNoMatch(rule, new PolyString("Bar", "bar"), new PolyString("bAR", "bar")); assertMatch(rule, new PolyString("Bar", "bar"), new PolyString("Bar", "barbar")); }
@Test public void testStringCaseInsensitive() throws Exception { // GIVEN MatchingRule<String> rule = matchingRuleRegistry.getMatchingRule(PrismConstants.STRING_IGNORE_CASE_MATCHING_RULE_NAME, DOMUtil.XSD_STRING); // WHEN, THEN assertMatch(rule, "foo", "foo"); assertNoMatch(rule, "foo", "bar"); assertMatch(rule, "foo", "Foo"); assertMatch(rule, "FOO", "Foo"); assertNormalized(rule, "bar", "baR"); assertNormalized(rule, "foo", "FoO"); assertNormalized(rule, "foobar", "foobar"); }
assertNoMatch(rule, "<foo>BAR</foo>", "<foo>BARbar</foo>"); assertMatch(rule, "<foo>BAR</foo>", " <foo>BAR</foo> "); assertMatch(rule, "<foo>\n BAR\n</foo>", " <foo>BAR</foo> "); assertNoMatch(rule, "<foo>FOO<bar>BAR</bar></foo>", "<foo>FOO<baZ>BAR</baZ></foo>"); assertNoMatch(rule, "<foo>FOO<bar>BAR</bar></foo>", "<foo><bar>BAR</bar></foo>"); assertMatch(rule, "<foo>FOO<bar>BAR</bar></foo>", "<foo>\n FOO\n <bar>BAR</bar>\n</foo>\n"); assertMatch(rule, "<foo>FOO<bar></bar></foo>", " <foo> FOO <bar/> </foo> "); assertMatch(rule, "\n\n <foo> \n FOO <bar> </bar> \n </foo>", " <foo> FOO <bar/></foo> "); assertNoMatch(rule, "\n\n <foo> \n FOO <bar> X </bar> \n </foo>", " <foo> FOO <bar/></foo> "); assertMatch(rule, "<foo>FOO<bar>BAR</bar></foo>", "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<foo>\n FOO\n <bar>BAR</bar>\n</foo>\n"); assertMatch(rule, "<foo> \n <!-- dada --> FOO <bar> </bar> \n </foo>", "<!-- bubu --> <foo> FOO <!-- he --> <bar/><!-- hihi --></foo> "); assertNoMatch(rule, "<foo>FOO<bar>BAR</foo>", "<foo>FOO<bar>BAR</bar></foo>");
@Test public void testPolyStringNorm() throws Exception { // GIVEN MatchingRule<PolyString> rule = matchingRuleRegistry.getMatchingRule(PrismConstants.POLY_STRING_NORM_MATCHING_RULE_NAME, PolyStringType.COMPLEX_TYPE); // WHEN, THEN assertMatch(rule, new PolyString("Bar", "bar"), new PolyString("Bar", "bar")); assertMatch(rule, new PolyString("BAR", "bar"), new PolyString("Foo", "bar")); assertMatch(rule, new PolyString("Bar", "bar"), new PolyString("bAR", "bar")); assertNoMatch(rule, new PolyString("Bar", "bar"), new PolyString("Bar", "barbar")); }