From 045b89c090c33a5290961569fad07560acc92a86 Mon Sep 17 00:00:00 2001
From: gbellato <gbellato@localhost>
Date: Mon, 25 Sep 2006 10:02:49 +0000
Subject: [PATCH] Break the Equality Matching rule tests in subclasses. Add some tests for more Equality matching rules
---
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/BooleanEqualityMatchingRuleTest.java | 80 ++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/UserPasswordEqualityMatchingRuleTest.java | 117 +++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/BitStringEqualityMatchingRuleTest.java | 76 ++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/DirectoryStringFirstComponentEqualityMatchingRuleTest.java | 70 ++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/ProtocolInformationEqualityMatchingRuleTest.java | 74 ++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/AuthPasswordEqualityMatchingRuleTest.java | 123 ++++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/EqualityMatchingRuleTest.java | 282 +++-----
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/GeneralizedTimeEqualityMatchingRuleTest.java | 88 ++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/NumericStringEqualityMatchingRuleTest.java | 79 ++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/CaseExactEqualityMatchingRuleTest.java | 78 ++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/CaseExactIA5EqualityMatchingRuleTest.java | 75 ++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/UUIDEqualityMatchingRuleTest.java | 81 ++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/CaseIgnoreEqualityMatchingRuleTest.java | 76 ++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/DistinguishedNameEqualityMatchingRuleTest.java | 102 +++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/PresentationAddressEqualityMatchingRuleTest.java | 74 ++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/CaseIgnoreIA5EqualityMatchingRuleTest.java | 75 ++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/IntegerEqualityMatchingRuleTest.java | 79 ++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/WordEqualityMatchingRuleTest.java | 80 ++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/UniqueMemberEqualityMatchingRuleTest.java | 76 ++
19 files changed, 1,606 insertions(+), 179 deletions(-)
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/AuthPasswordEqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/AuthPasswordEqualityMatchingRuleTest.java
new file mode 100644
index 0000000..0a472c1
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/AuthPasswordEqualityMatchingRuleTest.java
@@ -0,0 +1,123 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.schema;
+
+import org.opends.server.api.EqualityMatchingRule;
+import org.opends.server.config.ConfigEntry;
+import org.opends.server.core.DirectoryServer;
+import org.opends.server.extensions.SaltedMD5PasswordStorageScheme;
+import org.opends.server.protocols.asn1.ASN1OctetString;
+import org.opends.server.types.ByteString;
+import org.opends.server.types.DN;
+import org.testng.annotations.DataProvider;
+
+import static org.opends.server.extensions.ExtensionsConstants.*;
+
+/**
+ * Test the AuthPasswordEqualityMatchingRule.
+ */
+public class AuthPasswordEqualityMatchingRuleTest extends
+ EqualityMatchingRuleTest
+{
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalitymatchingrules")
+ public Object[][] createEqualityMatchingRuleTest()
+ {
+ return new Object[][] {
+ {"password", "password", true},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalityMatchingRuleInvalidValues")
+ public Object[][] createEqualityMatchingRuleInvalidValues()
+ {
+ return new Object[][] {};
+ }
+
+ private Object[] generateValues(String password) throws Exception
+ {
+ ByteString bytePassword = new ASN1OctetString(password);
+ SaltedMD5PasswordStorageScheme scheme = new SaltedMD5PasswordStorageScheme();
+
+ ConfigEntry configEntry =
+ DirectoryServer.getConfigEntry(DN.decode("cn=Salted MD5,cn=Password Storage Schemes,cn=config"));
+ scheme.initializePasswordStorageScheme(configEntry);
+
+ ByteString encodedAuthPassword = scheme.encodeAuthPassword(bytePassword);
+ StringBuilder[] authPWComponents =
+ AuthPasswordSyntax.decodeAuthPassword(
+ encodedAuthPassword.stringValue());
+
+ return new Object[] {
+ AUTH_PASSWORD_SCHEME_NAME_SALTED_MD5 + "$"
+ + authPWComponents[1].toString()
+ + "$"+ authPWComponents[2].toString(),
+ password, true};
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="valuesMatch")
+ public Object[][] createValuesMatch()
+ {
+ try
+ {
+ return new Object[][] {
+ generateValues("password"),
+ {"password", "something else", false},
+ {"password", AUTH_PASSWORD_SCHEME_NAME_SALTED_MD5+"$something$else",
+ false},
+ {"password", "scheme$something$else", false}
+ };
+ }
+ catch (Exception e)
+ {
+ return new Object[][] {};
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EqualityMatchingRule getRule()
+ {
+ return new AuthPasswordEqualityMatchingRule();
+ }
+
+}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/BitStringEqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/BitStringEqualityMatchingRuleTest.java
new file mode 100644
index 0000000..dfc562c
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/BitStringEqualityMatchingRuleTest.java
@@ -0,0 +1,76 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.schema;
+
+import org.opends.server.api.EqualityMatchingRule;
+import org.testng.annotations.DataProvider;
+
+/**
+ * Test the BitStringEqualityMatchingRule.
+ */
+public class BitStringEqualityMatchingRuleTest extends EqualityMatchingRuleTest
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalityMatchingRuleInvalidValues")
+ public Object[][] createEqualityMatchingRuleInvalidValues()
+ {
+ return new Object[][] {
+ {"\'a\'B"},
+ {"0"},
+ {"010101"},
+ {"\'10101"},
+ {"\'1010\'A"},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalitymatchingrules")
+ public Object[][] createEqualityMatchingRuleTest()
+ {
+ return new Object[][] {
+ {"\'0\'B", "\'0\'B", true},
+ {"\'1\'B", "\'1\'B", true},
+ {"\'0\'B", "\'1\'B", false},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EqualityMatchingRule getRule()
+ {
+ return new BitStringEqualityMatchingRule();
+ }
+}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/BooleanEqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/BooleanEqualityMatchingRuleTest.java
new file mode 100644
index 0000000..e944e89
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/BooleanEqualityMatchingRuleTest.java
@@ -0,0 +1,80 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.schema;
+
+import org.opends.server.api.EqualityMatchingRule;
+import org.opends.server.schema.BooleanEqualityMatchingRuleTest;
+import org.testng.annotations.DataProvider;
+
+/**
+ * Test the BooleanEqualityMatchingRule.
+ */
+public class BooleanEqualityMatchingRuleTest extends EqualityMatchingRuleTest
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name= "equalitymatchingrules")
+ public Object[][] createEqualityMatchingRuleTest()
+ {
+ return new Object[][] {
+ {"TRUE", "true", true},
+ {"YES", "true", true},
+ {"ON", "true", true},
+ {"1", "true", true},
+ {"FALSE", "false", true},
+ {"NO", "false", true},
+ {"OFF", "false", true},
+ {"0", "false", true},
+ {"TRUE", "false", false},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name= "equalityMatchingRuleInvalidValues")
+ public Object[][] createEqualityMatchingRuleInvalidValues()
+ {
+ return new Object[][] {
+ {"garbage"},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EqualityMatchingRule getRule()
+ {
+ return new BooleanEqualityMatchingRule();
+ }
+
+}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/CaseExactEqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/CaseExactEqualityMatchingRuleTest.java
new file mode 100644
index 0000000..e53b060
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/CaseExactEqualityMatchingRuleTest.java
@@ -0,0 +1,78 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.schema;
+
+import org.opends.server.api.EqualityMatchingRule;
+import org.testng.annotations.DataProvider;
+
+/**
+ * Test the CaseExactEqualityMatchingRule.
+ */
+public class CaseExactEqualityMatchingRuleTest extends
+ EqualityMatchingRuleTest
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalityMatchingRuleInvalidValues")
+ public Object[][] createEqualityMatchingRuleInvalidValues()
+ {
+ return new Object[][] { };
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalitymatchingrules")
+ public Object[][] createEqualityMatchingRuleTest()
+ {
+ return new Object[][] {
+ {"12345678", "12345678", true},
+ {"12345678\u2163", "12345678\u2163", true},
+ {"ABC45678", "ABC45678", true},
+ {" ABC45678 ", "ABC45678", true},
+ {"ABC 45678", "ABC 45678", true},
+ {" ", " ", true},
+ {"", "", true},
+ {"ABC45678", "abc45678", false},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EqualityMatchingRule getRule()
+ {
+ return new CaseExactEqualityMatchingRule();
+ }
+
+}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/CaseExactIA5EqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/CaseExactIA5EqualityMatchingRuleTest.java
new file mode 100644
index 0000000..8054e9d
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/CaseExactIA5EqualityMatchingRuleTest.java
@@ -0,0 +1,75 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.schema;
+
+import org.opends.server.api.EqualityMatchingRule;
+import org.testng.annotations.DataProvider;
+
+/**
+ * Test the CaseExactIA5EqualityMatchingRule.
+ */
+public class CaseExactIA5EqualityMatchingRuleTest extends
+ EqualityMatchingRuleTest
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalityMatchingRuleInvalidValues")
+ public Object[][] createEqualityMatchingRuleInvalidValues()
+ {
+ return new Object[][] {
+ {"12345678\u2163"},
+ };
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalitymatchingrules")
+ public Object[][] createEqualityMatchingRuleTest()
+ {
+ return new Object[][] {
+ {"12345678", "12345678", true},
+ {"ABC45678", "ABC45678", true},
+ {"ABC45678", "abc45678", false},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EqualityMatchingRule getRule()
+ {
+ return new CaseExactIA5EqualityMatchingRule();
+ }
+
+}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/CaseIgnoreEqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/CaseIgnoreEqualityMatchingRuleTest.java
new file mode 100644
index 0000000..b527d9f
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/CaseIgnoreEqualityMatchingRuleTest.java
@@ -0,0 +1,76 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.schema;
+
+import org.opends.server.api.EqualityMatchingRule;
+import org.testng.annotations.DataProvider;
+
+/**
+ * Test the CaseIgnoreEqualityMatchingRule.
+ */
+public class CaseIgnoreEqualityMatchingRuleTest extends
+ EqualityMatchingRuleTest
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalityMatchingRuleInvalidValues")
+ public Object[][] createEqualityMatchingRuleInvalidValues()
+ {
+ return new Object[][] {};
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalitymatchingrules")
+ public Object[][] createEqualityMatchingRuleTest()
+ {
+ return new Object[][] {
+ {" string ", "string", true},
+ {"string ", "string", true},
+ {" string", "string", true},
+ {" ", " ", true},
+ {"Z", "z", true},
+ {"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",
+ "abcdefghijklmnopqrstuvwxyz1234567890", true},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EqualityMatchingRule getRule()
+ {
+ return new CaseIgnoreEqualityMatchingRule();
+ }
+
+}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/CaseIgnoreIA5EqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/CaseIgnoreIA5EqualityMatchingRuleTest.java
new file mode 100644
index 0000000..4457180
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/CaseIgnoreIA5EqualityMatchingRuleTest.java
@@ -0,0 +1,75 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.schema;
+
+import org.opends.server.api.EqualityMatchingRule;
+import org.testng.annotations.DataProvider;
+
+/**
+ * Test the CaseExactIA5EqualityMatchingRule.
+ */
+public class CaseIgnoreIA5EqualityMatchingRuleTest extends
+ EqualityMatchingRuleTest
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalityMatchingRuleInvalidValues")
+ public Object[][] createEqualityMatchingRuleInvalidValues()
+ {
+ return new Object[][] {
+ {"12345678\u2163"},
+ };
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalitymatchingrules")
+ public Object[][] createEqualityMatchingRuleTest()
+ {
+ return new Object[][] {
+ {"12345678", "12345678", true},
+ {"ABC45678", "ABC45678", true},
+ {"ABC45678", "abc45678", true},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EqualityMatchingRule getRule()
+ {
+ return new CaseIgnoreIA5EqualityMatchingRule();
+ }
+
+}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/DirectoryStringFirstComponentEqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/DirectoryStringFirstComponentEqualityMatchingRuleTest.java
new file mode 100644
index 0000000..ac02257
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/DirectoryStringFirstComponentEqualityMatchingRuleTest.java
@@ -0,0 +1,70 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.schema;
+
+import org.opends.server.api.EqualityMatchingRule;
+import org.testng.annotations.DataProvider;
+
+/**
+ * Test the DirectoryStringFirstComponentEqualityMatchingRule.
+ */
+public class DirectoryStringFirstComponentEqualityMatchingRuleTest extends
+ EqualityMatchingRuleTest
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name= "equalitymatchingrules")
+ public Object[][] createEqualityMatchingRuleTest()
+ {
+ return new Object[][] {
+ {"(1.2.8.5 NAME 'testtype' DESC 'full type')", "1.2.8.5", true},
+ {"(1.2.8.5 NAME 'testtype' DESC 'full type')", "something", false},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name= "equalityMatchingRuleInvalidValues")
+ public Object[][] createEqualityMatchingRuleInvalidValues()
+ {
+ return new Object[][] {};
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EqualityMatchingRule getRule()
+ {
+ return new DirectoryStringFirstComponentEqualityMatchingRule();
+ }
+}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/DistinguishedNameEqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/DistinguishedNameEqualityMatchingRuleTest.java
new file mode 100644
index 0000000..d888fb4
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/DistinguishedNameEqualityMatchingRuleTest.java
@@ -0,0 +1,102 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.schema;
+
+import org.opends.server.api.EqualityMatchingRule;
+import org.testng.annotations.DataProvider;
+
+/**
+ * Test the DistinguishedNameEqualityMatchingRule.
+ */
+public class DistinguishedNameEqualityMatchingRuleTest extends
+ EqualityMatchingRuleTest
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalityMatchingRuleInvalidValues")
+ public Object[][] createEqualityMatchingRuleInvalidValues()
+ {
+ return new Object[][] {
+
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalitymatchingrules")
+ public Object[][] createEqualityMatchingRuleTest()
+ {
+ /*
+ * DistinguishedNameEqualityMatchingRule rely on DN for the
+ * DN with correct syntax, just do a few such tests and then
+ * do more tests with invalid DNs
+ */
+
+ return new Object[][] {
+ // valid DNs
+ { "", "" , true},
+ { " ", "", true },
+ { "dc=com", "dc=com" , true},
+ { "DC=COM", "dc=com" , true},
+ { "dc = com", "dc=com" , true},
+ { " dc = com ", "dc=com" , true},
+ { "dc=example,dc=com", "dc=example,dc=com" , true},
+ { "dc=example, dc=com", "dc=example,dc=com", true },
+ { "dc=example ,dc=com", "dc=example,dc=com", true },
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="warnmodeEqualityMatchingRule")
+ public Object[][] createWarnmodeEqualityMatchingRuleTest()
+ {
+ return new Object[][] {
+ // invalid DNs
+ { "example", "example", true },
+ { " example ", " example ", true },
+ { "invalid dn", "invalid dn", true },
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EqualityMatchingRule getRule()
+ {
+ return new DistinguishedNameEqualityMatchingRule();
+ }
+
+}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/EqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/EqualityMatchingRuleTest.java
index be1fcd1..a939589 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/EqualityMatchingRuleTest.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/EqualityMatchingRuleTest.java
@@ -28,230 +28,154 @@
import org.opends.server.api.EqualityMatchingRule;
import org.opends.server.core.DirectoryException;
+import org.opends.server.core.DirectoryServer;
import org.opends.server.protocols.asn1.ASN1OctetString;
+import org.opends.server.types.AcceptRejectWarn;
import org.opends.server.types.ByteString;
+import org.opends.server.types.ConditionResult;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
-import static org.opends.server.schema.SchemaConstants.SYNTAX_IA5_STRING_OID;
import static org.testng.Assert.*;
/**
* Test The equality matching rules and the equality matching rule api.
*/
-public class EqualityMatchingRuleTest extends SchemaTestCase
+public abstract class EqualityMatchingRuleTest extends SchemaTestCase
{
+ /**
+ * Generate data for the EqualityMatching Rule test.
+ *
+ * @return the data for the equality matching rule test.
+ */
@DataProvider(name="equalitymatchingrules")
- public Object[][] createEqualityMatchingRuleTest()
- {
- return new Object[][] {
- {"WordEqualityMatchingRule", "first word", "first", true},
- {"WordEqualityMatchingRule", "first,word", "first", true},
- {"WordEqualityMatchingRule", "first word", "first", true},
- {"WordEqualityMatchingRule", "first#word", "first", true},
- {"WordEqualityMatchingRule", "first.word", "first", true},
- {"WordEqualityMatchingRule", "first/word", "first", true},
- {"WordEqualityMatchingRule", "first$word", "first", true},
- {"WordEqualityMatchingRule", "first+word", "first", true},
- {"WordEqualityMatchingRule", "first-word", "first", true},
- {"WordEqualityMatchingRule", "first=word", "first", true},
- {"WordEqualityMatchingRule", "word", "first", false},
- {"WordEqualityMatchingRule", "", "empty", false},
- {"WordEqualityMatchingRule", "", "", true},
-
- {"DirectoryStringFirstComponentEqualityMatchingRule",
- "(1.2.8.5 NAME 'testtype' DESC 'full type')",
- "1.2.8.5", true},
- {"DirectoryStringFirstComponentEqualityMatchingRule",
- "(1.2.8.5 NAME 'testtype' DESC 'full type')",
- "something", false},
-
- {"BooleanEqualityMatchingRule", "TRUE", "true", true},
- {"BooleanEqualityMatchingRule", "YES", "true", true},
- {"BooleanEqualityMatchingRule", "ON", "true", true},
- {"BooleanEqualityMatchingRule", "1", "true", true},
- {"BooleanEqualityMatchingRule", "FALSE", "false", true},
- {"BooleanEqualityMatchingRule", "NO", "false", true},
- {"BooleanEqualityMatchingRule", "OFF", "false", true},
- {"BooleanEqualityMatchingRule", "0", "false", true},
- {"BooleanEqualityMatchingRule", "TRUE", "false", false},
+ public abstract Object[][] createEqualityMatchingRuleTest();
- {"CaseIgnoreEqualityMatchingRule", " string ", "string", true},
- {"CaseIgnoreEqualityMatchingRule", "string ", "string", true},
- {"CaseIgnoreEqualityMatchingRule", " string", "string", true},
- {"CaseIgnoreEqualityMatchingRule", " ", " ", true},
- {"CaseIgnoreEqualityMatchingRule", "Z", "z", true},
- {"CaseIgnoreEqualityMatchingRule",
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",
- "abcdefghijklmnopqrstuvwxyz1234567890", true},
+ /**
+ * Generate invalid data for the EqualityMatching Rule test.
+ *
+ * @return the data for the EqualityMatchingRulesInvalidValuestest.
+ */
+ @DataProvider(name="equalityMatchingRuleInvalidValues")
+ public abstract Object[][] createEqualityMatchingRuleInvalidValues();
- {"IntegerEqualityMatchingRule", "1234567890", "1234567890", true},
- {"IntegerEqualityMatchingRule", "-1", "-1", true},
- {"IntegerEqualityMatchingRule", "-9876543210", "-9876543210", true},
- {"IntegerEqualityMatchingRule", "1", "-1", false},
- {"GeneralizedTimeEqualityMatchingRule","2006090613Z",
- "20060906130000.000Z", true},
- {"GeneralizedTimeEqualityMatchingRule","200609061350Z",
- "20060906135000.000Z", true},
- {"GeneralizedTimeEqualityMatchingRule","200609061351Z",
- "20060906135000.000Z", false},
- {"GeneralizedTimeEqualityMatchingRule","20060906135030Z",
- "20060906135030.000Z", true},
- {"GeneralizedTimeEqualityMatchingRule","20060906135030.3Z",
- "20060906135030.300Z", true},
- {"GeneralizedTimeEqualityMatchingRule","20060906135030.30Z",
- "20060906135030.300Z", true},
- {"GeneralizedTimeEqualityMatchingRule","20060906135030.Z",
- "20060906135030.000Z", true},
- {"GeneralizedTimeEqualityMatchingRule","20060906135030.0118Z",
- "20060906135030.012Z", true},
- {"GeneralizedTimeEqualityMatchingRule","20060906135030+01",
- "20060906125030.000Z", true},
- {"GeneralizedTimeEqualityMatchingRule","20060906135030+0101",
- "20060906124930.000Z", true},
-
- {"UUIDEqualityMatchingRule",
- "12345678-9ABC-DEF0-1234-1234567890ab",
- "12345678-9abc-def0-1234-1234567890ab", true},
- {"UUIDEqualityMatchingRule",
- "12345678-9abc-def0-1234-1234567890ab",
- "12345678-9abc-def0-1234-1234567890ab", true},
- {"UUIDEqualityMatchingRule",
- "02345678-9abc-def0-1234-1234567890ab",
- "12345678-9abc-def0-1234-1234567890ab", false},
-
- {"BitStringEqualityMatchingRule", "\'0\'B", "\'0\'B", true},
- {"BitStringEqualityMatchingRule", "\'1\'B", "\'1\'B", true},
- {"BitStringEqualityMatchingRule", "\'0\'B", "\'1\'B", false},
-
- {"CaseExactIA5EqualityMatchingRule", "12345678",
- "12345678", true},
- {"CaseExactIA5EqualityMatchingRule", "ABC45678",
- "ABC45678", true},
- {"CaseExactIA5EqualityMatchingRule", "ABC45678",
- "abc45678", false},
-
- {"CaseIgnoreIA5EqualityMatchingRule", "12345678",
- "12345678", true},
- {"CaseIgnoreIA5EqualityMatchingRule", "ABC45678",
- "ABC45678", true},
- {"CaseIgnoreIA5EqualityMatchingRule", "ABC45678",
- "abc45678", true},
-
- {"UniqueMemberEqualityMatchingRule",
- "1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB#'0101'B",
- "1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB#'0101'B", true},
- {"UniqueMemberEqualityMatchingRule",
- "1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB#'0101'B",
- "1.3.6.1.4.1.1466.0=#04024869,o=Test,C=GB#'0101'B", true},
-
- };
-
- }
+ /**
+ * Get an instance of the matching rule.
+ *
+ * @return An instance of the matching rule to test.
+ */
+ public abstract EqualityMatchingRule getRule();
/**
* Test the normalization and the comparison of valid values.
*/
@Test(dataProvider= "equalitymatchingrules")
- public void EqualityMatchingRules(String ruleClassName, String value1,
+ public void equalityMatchingRules(String value1,
String value2, Boolean result) throws Exception
{
- // load the mathing rule code
- Class rule = Class.forName("org.opends.server.schema."+ruleClassName);
-
- // Make sure that the specified class can be instantiated as a task.
- EqualityMatchingRule ruleInstance =
- (EqualityMatchingRule) rule.newInstance();
-
- // we should call initializeMatchingRule but they all seem empty at the
- // moment.
- // ruleInstance.initializeMatchingRule(configEntry);
+ EqualityMatchingRule rule = getRule();
// normalize the 2 provided values and check that they are equals
ByteString normalizedValue1 =
- ruleInstance.normalizeValue(new ASN1OctetString(value1));
+ rule.normalizeValue(new ASN1OctetString(value1));
ByteString normalizedValue2 =
- ruleInstance.normalizeValue(new ASN1OctetString(value2));
+ rule.normalizeValue(new ASN1OctetString(value2));
- Boolean liveResult = ruleInstance.areEqual(normalizedValue1,
- normalizedValue2);
+ Boolean liveResult = rule.areEqual(normalizedValue1, normalizedValue2);
assertEquals(result, liveResult);
}
- @DataProvider(name="equalityMathchingRuleInvalidValues")
- public Object[][] createEqualityMathchingRuleInvalidValues()
+
+ /**
+ * Generate data for the EqualityMatching Rule test in warn mode.
+ *
+ * @return the data for the equality matching rule test in warn mode.
+ */
+ @DataProvider(name="warnmodeEqualityMatchingRule")
+ public Object[][] createWarnmodeEqualityMatchingRuleTest()
{
- return new Object[][] {
- {"IntegerEqualityMatchingRule", "01"},
- {"IntegerEqualityMatchingRule", "00"},
- {"IntegerEqualityMatchingRule", "-01"},
- {"IntegerEqualityMatchingRule", "1-2"},
- {"IntegerEqualityMatchingRule", "b2"},
- {"IntegerEqualityMatchingRule", "-"},
- {"IntegerEqualityMatchingRule", ""},
-
- {"GeneralizedTimeEqualityMatchingRule","2006september061Z"},
- {"GeneralizedTimeEqualityMatchingRule","2006"},
- {"GeneralizedTimeEqualityMatchingRule","200609061Z"},
- {"GeneralizedTimeEqualityMatchingRule","20060906135Z"},
- {"GeneralizedTimeEqualityMatchingRule","200609061350G"},
- {"GeneralizedTimeEqualityMatchingRule","2006090613mmZ"},
- {"GeneralizedTimeEqualityMatchingRule","20060906135030.011"},
- {"GeneralizedTimeEqualityMatchingRule","20060906135030Zx"},
-
- {"UUIDEqualityMatchingRule", "G2345678-9abc-def0-1234-1234567890ab"},
- {"UUIDEqualityMatchingRule", "g2345678-9abc-def0-1234-1234567890ab"},
- {"UUIDEqualityMatchingRule", "12345678/9abc/def0/1234/1234567890ab"},
- {"UUIDEqualityMatchingRule", "12345678-9abc-def0-1234-1234567890a"},
-
- {"BitStringEqualityMatchingRule", "\'a\'B"},
- {"BitStringEqualityMatchingRule", "0"},
- {"BitStringEqualityMatchingRule", "010101"},
- {"BitStringEqualityMatchingRule", "\'10101"},
- {"BitStringEqualityMatchingRule", "\'1010\'A"},
-
- {"CaseExactIA5EqualityMatchingRule", "12345678\u2163"},
-
- {"CaseIgnoreIA5EqualityMatchingRule", "12345678\u2163"},
-
- {"UniqueMemberEqualityMatchingRule",
- "1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB#'123'B"},
- {"UniqueMemberEqualityMatchingRule", "1.3.6.1.4.1.1466.01"}
-
- };
+ return new Object[][] {};
+ }
+
+ /**
+ * Test the normalization and the comparison in the warning mode
+ */
+ @Test(dataProvider= "warnmodeEqualityMatchingRule")
+ public void warnmodeEqualityMatchingRules(
+ String value1, String value2, Boolean result)
+ throws Exception
+ {
+ AcceptRejectWarn accept = DirectoryServer.getSyntaxEnforcementPolicy();
+ DirectoryServer.setSyntaxEnforcementPolicy(AcceptRejectWarn.WARN);
+ try
+ {
+ equalityMatchingRules(value1, value2, result);
+ }
+ finally
+ {
+ DirectoryServer.setSyntaxEnforcementPolicy(accept);
+ }
}
/**
* Test that invalid values are rejected.
*/
- @Test(dataProvider= "equalityMathchingRuleInvalidValues")
- public void EqualityMatchingRulesInvalidValues(String ruleClassName,
- String value) throws Exception
+ @Test(dataProvider= "equalityMatchingRuleInvalidValues")
+ public void equalityMatchingRulesInvalidValues(String value) throws Exception
{
-
- // load the matching rule code
- Class rule = Class.forName("org.opends.server.schema."+ruleClassName);
-
- // Make sure that the specified class can be instantiated as a task.
- EqualityMatchingRule ruleInstance =
- (EqualityMatchingRule) rule.newInstance();
-
- // we should call initializeMatchingRule but they all seem empty at the
- // moment.
- // ruleInstance.initializeMatchingRule(configEntry);
+ // Get the instance of the rule to be tested.
+ EqualityMatchingRule rule = getRule();
// normalize the 2 provided values
boolean success = false;
try
{
- ruleInstance.normalizeValue(new ASN1OctetString(value));
+ rule.normalizeValue(new ASN1OctetString(value));
} catch (DirectoryException e) {
success = true;
}
- // if we get there with false value for success then the tested
- // matching rule did not raised the Exception.
- assertTrue(success);
+ if (!success)
+ {
+ fail("The matching rule : " + rule.getName() +
+ " should detect that value \"" + value + "\" is invalid");
+ }
}
+
+ /**
+ * Generate data for the EqualityMatching Rule test.
+ *
+ * @return the data for the equality matching rule test.
+ */
+ @DataProvider(name="valuesMatch")
+ public Object[][] createValuesMatch()
+ {
+ return new Object[][] {};
+ }
+
+ /**
+ * Test the valuesMatch method used for extensible filters.
+ */
+ @Test(dataProvider= "valuesMatch")
+ public void testValuesMatch(String value1,
+ String value2, Boolean result) throws Exception
+ {
+ EqualityMatchingRule rule = getRule();
+
+ // normalize the 2 provided values and check that they are equals
+ ByteString normalizedValue1 =
+ rule.normalizeValue(new ASN1OctetString(value1));
+ ByteString normalizedValue2 =
+ rule.normalizeValue(new ASN1OctetString(value2));
+
+ ConditionResult liveResult =
+ rule.valuesMatch(normalizedValue1, normalizedValue2);
+ if (result == true)
+ assertEquals(ConditionResult.TRUE, liveResult);
+ else
+ assertEquals(ConditionResult.FALSE, liveResult);
+
+ }
+
}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/GeneralizedTimeEqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/GeneralizedTimeEqualityMatchingRuleTest.java
new file mode 100644
index 0000000..0e72d91
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/GeneralizedTimeEqualityMatchingRuleTest.java
@@ -0,0 +1,88 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.schema;
+
+import org.opends.server.api.EqualityMatchingRule;
+import org.testng.annotations.DataProvider;
+
+/**
+ * Test the GeneralizedTimeEqualityMatchingRule.
+ */
+public class GeneralizedTimeEqualityMatchingRuleTest extends
+ EqualityMatchingRuleTest
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalityMatchingRuleInvalidValues")
+ public Object[][] createEqualityMatchingRuleInvalidValues()
+ {
+ return new Object [][] {
+ {"2006september061Z"},
+ {"2006"},
+ {"200609061Z"},
+ {"20060906135Z"},
+ {"200609061350G"},
+ {"2006090613mmZ"},
+ {"20060906135030.011"},
+ {"20060906135030Zx"},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalitymatchingrules")
+ public Object[][] createEqualityMatchingRuleTest()
+ {
+ return new Object [][] {
+ {"2006090613Z", "20060906130000.000Z", true},
+ {"200609061350Z", "20060906135000.000Z", true},
+ {"200609061351Z", "20060906135000.000Z", false},
+ {"20060906135030Z", "20060906135030.000Z", true},
+ {"20060906135030.3Z", "20060906135030.300Z", true},
+ {"20060906135030.30Z", "20060906135030.300Z", true},
+ {"20060906135030.Z", "20060906135030.000Z", true},
+ {"20060906135030.0118Z", "20060906135030.012Z", true},
+ {"20060906135030+01", "20060906125030.000Z", true},
+ {"20060906135030+0101", "20060906124930.000Z", true},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EqualityMatchingRule getRule()
+ {
+ return new GeneralizedTimeEqualityMatchingRule();
+ }
+
+}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/IntegerEqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/IntegerEqualityMatchingRuleTest.java
new file mode 100644
index 0000000..244cc5d
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/IntegerEqualityMatchingRuleTest.java
@@ -0,0 +1,79 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.schema;
+
+import org.opends.server.api.EqualityMatchingRule;
+import org.testng.annotations.DataProvider;
+
+/**
+ * Test the IntegerEqualityMatchingRule.
+ */
+public class IntegerEqualityMatchingRuleTest extends EqualityMatchingRuleTest
+{
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalityMatchingRuleInvalidValues")
+ public Object[][] createEqualityMatchingRuleInvalidValues()
+ {
+ return new Object[][] {
+ {"01"},
+ {"00"},
+ {"-01"},
+ {"1-2"},
+ {"b2"},
+ {"-"},
+ {""},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalitymatchingrules")
+ public Object[][] createEqualityMatchingRuleTest()
+ {
+ return new Object[][] {
+ {"1234567890", "1234567890", true},
+ {"-1", "-1", true},
+ {"-9876543210", "-9876543210", true},
+ {"1", "-1", false},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EqualityMatchingRule getRule()
+ {
+ return new IntegerEqualityMatchingRule();
+ }
+
+}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/NumericStringEqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/NumericStringEqualityMatchingRuleTest.java
new file mode 100644
index 0000000..2ce3bee
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/NumericStringEqualityMatchingRuleTest.java
@@ -0,0 +1,79 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.schema;
+
+import org.opends.server.api.EqualityMatchingRule;
+import org.testng.annotations.DataProvider;
+
+/**
+ * Test the NumericStringEqualityMatchingRule.
+ */
+public class NumericStringEqualityMatchingRuleTest extends
+ EqualityMatchingRuleTest
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalityMatchingRuleInvalidValues")
+ public Object[][] createEqualityMatchingRuleInvalidValues()
+ {
+ return new Object[][] {
+ {"A2B1"}
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalitymatchingrules")
+ public Object[][] createEqualityMatchingRuleTest()
+ {
+ return new Object[][] {
+ {"1234567890", "1234567890", true },
+ {" 1234567890 ", "1234567890", true },
+ /* disabled because it is currently failing
+ * see issue : 707
+ {" 123 4567890 ", "1234567890", false },
+ */
+ {"1234", "5678", false },
+ };
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EqualityMatchingRule getRule()
+ {
+ return new NumericStringEqualityMatchingRule();
+ }
+
+}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/PresentationAddressEqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/PresentationAddressEqualityMatchingRuleTest.java
new file mode 100644
index 0000000..60f8710
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/PresentationAddressEqualityMatchingRuleTest.java
@@ -0,0 +1,74 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.schema;
+
+import org.opends.server.api.EqualityMatchingRule;
+import org.testng.annotations.DataProvider;
+
+/**
+ * Test the PresentationAddressEqualityMatchingRule.
+ * This matching rule is deprecated, tests are very basic...
+ */
+public class PresentationAddressEqualityMatchingRuleTest extends
+ EqualityMatchingRuleTest
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalityMatchingRuleInvalidValues")
+ public Object[][] createEqualityMatchingRuleInvalidValues()
+ {
+ return new Object[][] {};
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalitymatchingrules")
+ public Object[][] createEqualityMatchingRuleTest()
+ {
+ return new Object[][] {
+ {" ", " ", true},
+ {"string", "string", true},
+ {"STRING", "string", true},
+ {"some string", "some other string", false},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EqualityMatchingRule getRule()
+ {
+ return new PresentationAddressEqualityMatchingRule();
+ }
+
+}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/ProtocolInformationEqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/ProtocolInformationEqualityMatchingRuleTest.java
new file mode 100644
index 0000000..97195b5
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/ProtocolInformationEqualityMatchingRuleTest.java
@@ -0,0 +1,74 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.schema;
+
+import org.opends.server.api.EqualityMatchingRule;
+import org.testng.annotations.DataProvider;
+
+/**
+ * Test the ProtocolInformationEqualityMatchingRule.
+ * This matching rule is deprecated, tests are very basic...
+ */
+public class ProtocolInformationEqualityMatchingRuleTest extends
+ EqualityMatchingRuleTest
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalityMatchingRuleInvalidValues")
+ public Object[][] createEqualityMatchingRuleInvalidValues()
+ {
+ return new Object[][] {};
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalitymatchingrules")
+ public Object[][] createEqualityMatchingRuleTest()
+ {
+ return new Object[][] {
+ {" ", " ", true},
+ {"string", "string", true},
+ {"STRING", "string", true},
+ {"some string", "some other string", false},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EqualityMatchingRule getRule()
+ {
+ return new ProtocolInformationEqualityMatchingRule();
+ }
+
+}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/UUIDEqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/UUIDEqualityMatchingRuleTest.java
new file mode 100644
index 0000000..516fbc4
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/UUIDEqualityMatchingRuleTest.java
@@ -0,0 +1,81 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.schema;
+
+import org.opends.server.api.EqualityMatchingRule;
+import org.testng.annotations.DataProvider;
+
+
+/**
+ * Test the UUIDEqualityMatchingRule.
+ */
+public class UUIDEqualityMatchingRuleTest extends EqualityMatchingRuleTest
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalityMatchingRuleInvalidValues")
+ public Object[][] createEqualityMatchingRuleInvalidValues()
+ {
+ return new Object[][] {
+ {"G2345678-9abc-def0-1234-1234567890ab"},
+ {"g2345678-9abc-def0-1234-1234567890ab"},
+ {"12345678/9abc/def0/1234/1234567890ab"},
+ {"12345678-9abc-def0-1234-1234567890a"},
+ };
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalitymatchingrules")
+ public Object[][] createEqualityMatchingRuleTest()
+ {
+ return new Object[][] {
+ {"12345678-9ABC-DEF0-1234-1234567890ab",
+ "12345678-9abc-def0-1234-1234567890ab", true},
+ {"12345678-9abc-def0-1234-1234567890ab",
+ "12345678-9abc-def0-1234-1234567890ab", true},
+ {"02345678-9abc-def0-1234-1234567890ab",
+ "12345678-9abc-def0-1234-1234567890ab", false},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EqualityMatchingRule getRule()
+ {
+ return new UUIDEqualityMatchingRule();
+ }
+
+}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/UniqueMemberEqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/UniqueMemberEqualityMatchingRuleTest.java
new file mode 100644
index 0000000..aa2c7c4
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/UniqueMemberEqualityMatchingRuleTest.java
@@ -0,0 +1,76 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.schema;
+
+import org.opends.server.api.EqualityMatchingRule;
+import org.testng.annotations.DataProvider;
+
+/**
+ * test the UniqueMemberEqualityMatchingRule.
+ */
+public class UniqueMemberEqualityMatchingRuleTest extends
+ EqualityMatchingRuleTest
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalityMatchingRuleInvalidValues")
+ public Object[][] createEqualityMatchingRuleInvalidValues()
+ {
+ return new Object[][] {
+ {"1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB#'123'B"},
+ {"1.3.6.1.4.1.1466.01"}
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalitymatchingrules")
+ public Object[][] createEqualityMatchingRuleTest()
+ {
+ return new Object [][] {
+ {"1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB#'0101'B",
+ "1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB#'0101'B", true},
+ {"1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB#'0101'B",
+ "1.3.6.1.4.1.1466.0=#04024869,o=Test,C=GB#'0101'B", true},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EqualityMatchingRule getRule()
+ {
+ return new UniqueMemberEqualityMatchingRule();
+ }
+
+}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/UserPasswordEqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/UserPasswordEqualityMatchingRuleTest.java
new file mode 100644
index 0000000..5bf657f
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/UserPasswordEqualityMatchingRuleTest.java
@@ -0,0 +1,117 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.schema;
+
+import org.opends.server.api.EqualityMatchingRule;
+import org.opends.server.config.ConfigEntry;
+import org.opends.server.core.DirectoryServer;
+import org.opends.server.extensions.SaltedMD5PasswordStorageScheme;
+import org.opends.server.protocols.asn1.ASN1OctetString;
+import org.opends.server.types.ByteString;
+import org.opends.server.types.DN;
+import org.testng.annotations.DataProvider;
+
+
+/**
+ * Test the AuthPasswordEqualityMatchingRule.
+ */
+public class UserPasswordEqualityMatchingRuleTest extends
+ EqualityMatchingRuleTest
+{
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalitymatchingrules")
+ public Object[][] createEqualityMatchingRuleTest()
+ {
+ return new Object[][] {
+ {"password", "password", true},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalityMatchingRuleInvalidValues")
+ public Object[][] createEqualityMatchingRuleInvalidValues()
+ {
+ return new Object[][] {};
+ }
+
+ private Object[] generateValues(String password) throws Exception
+ {
+ ByteString bytePassword = new ASN1OctetString(password);
+ SaltedMD5PasswordStorageScheme scheme = new SaltedMD5PasswordStorageScheme();
+
+ ConfigEntry configEntry =
+ DirectoryServer.getConfigEntry(
+ DN.decode("cn=Salted MD5,cn=Password Storage Schemes,cn=config"));
+ scheme.initializePasswordStorageScheme(configEntry);
+
+ ByteString encodedAuthPassword =
+ scheme.encodePasswordWithScheme(bytePassword);
+
+ return new Object[] {
+ encodedAuthPassword.toString(), password, true};
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="valuesMatch")
+ public Object[][] createValuesMatch()
+ {
+ try
+ {
+ return new Object[][] {
+ generateValues("password"),
+ {"password", "something else", false},
+ {"password", "{wong}password", false},
+ {"password", "{SMD5}wrong", false}
+ };
+ }
+ catch (Exception e)
+ {
+ return new Object[][] {};
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EqualityMatchingRule getRule()
+ {
+ return new UserPasswordEqualityMatchingRule();
+ }
+
+}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/WordEqualityMatchingRuleTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/WordEqualityMatchingRuleTest.java
new file mode 100644
index 0000000..e7a2c2b
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/schema/WordEqualityMatchingRuleTest.java
@@ -0,0 +1,80 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying * information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2006 Sun Microsystems, Inc.
+ */
+package org.opends.server.schema;
+
+import org.opends.server.api.EqualityMatchingRule;
+import org.testng.annotations.DataProvider;
+
+/**
+ * Test the Word Equality Matching Rule
+ */
+public class WordEqualityMatchingRuleTest extends EqualityMatchingRuleTest
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EqualityMatchingRule getRule()
+ {
+ return new WordEqualityMatchingRule();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @DataProvider(name="equalitymatchingrules")
+ public Object[][] createEqualityMatchingRuleTest()
+ {
+ return new Object[][] {
+ {"first word", "first", true},
+ {"first,word", "first", true},
+ {"first word", "first", true},
+ {"first#word", "first", true},
+ {"first.word", "first", true},
+ {"first/word", "first", true},
+ {"first$word", "first", true},
+ {"first+word", "first", true},
+ {"first-word", "first", true},
+ {"first=word", "first", true},
+ {"word", "first", false},
+ {"", "empty", false},
+ {"", "", true},
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @DataProvider(name="equalityMatchingRuleInvalidValues")
+ public Object[][] createEqualityMatchingRuleInvalidValues()
+ {
+ // all values are valid, return an empty table.
+ return new Object[][] {};
+ }
+}
--
Gitblit v1.10.0