From bdbe059e500db4f3e35495bc1cc83f96d6aa11d0 Mon Sep 17 00:00:00 2001
From: david_page <david_page@localhost>
Date: Mon, 12 Feb 2007 22:09:25 +0000
Subject: [PATCH] OpenDS Issue 1229

---
 opendj-sdk/opends/src/server/org/opends/server/types/ConditionResult.java                                 |   21 ++++++++++
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/types/ConditionResultTestCase.java |   71 +++++++++++++++++++++++++++++++++++
 2 files changed, 91 insertions(+), 1 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/types/ConditionResult.java b/opendj-sdk/opends/src/server/org/opends/server/types/ConditionResult.java
index 9894fd0..505ebdf 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/types/ConditionResult.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/types/ConditionResult.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Portions Copyright 2006 Sun Microsystems, Inc.
+ *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.types;
 
@@ -76,6 +76,25 @@
     this.resultName = resultName;
   }
 
+  /**
+   Returns the logical inverse of a ConditionResult value. The inverse
+   of the UNDEFINED value is UNDEFINED.
+
+   @param value The value to invert.
+   @return The logical inverse of the supplied value.
+   */
+  public static ConditionResult inverseOf(ConditionResult value) {
+    switch (value) {
+      case TRUE:
+        return FALSE;
+      case FALSE:
+        return TRUE;
+      case UNDEFINED:
+        return UNDEFINED;
+    }
+    assert false : "internal error: missing switch case" ;
+    return UNDEFINED;
+  }
 
 
   /**
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/types/ConditionResultTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/types/ConditionResultTestCase.java
new file mode 100644
index 0000000..2cef285
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/types/ConditionResultTestCase.java
@@ -0,0 +1,71 @@
+/*
+ * 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 2007 Sun Microsystems, Inc.
+ */
+package org.opends.server.types;
+
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+import org.opends.server.TestCaseUtils;
+
+import static org.testng.Assert.*;
+
+
+
+/**
+ A set of test cases for the ConditionResult class.
+ */
+public class ConditionResultTestCase
+        extends TypesTestCase
+{
+  /**
+   Tests some basic assumptions of the enumeration.
+   */
+  @Test
+  public void testBasic(){
+    assertTrue( 3 == ConditionResult.values().length );
+    assertFalse( ConditionResult.TRUE == ConditionResult.FALSE );
+    assertFalse( ConditionResult.FALSE == ConditionResult.UNDEFINED );
+    assertFalse( ConditionResult.UNDEFINED == ConditionResult.TRUE );
+  }
+
+  /**
+   Tests inverseOf method.
+   */
+  @Test
+  public void testInverseOf(){
+    // inverseOf
+    assertTrue( ConditionResult.TRUE
+            == ConditionResult.inverseOf( ConditionResult.FALSE ));
+
+    ConditionResult result = ConditionResult.TRUE;
+    result = ConditionResult.inverseOf( result );
+    assertTrue( ConditionResult.FALSE == result );
+
+    assertTrue( ConditionResult.UNDEFINED
+            == ConditionResult.inverseOf( ConditionResult.UNDEFINED ));
+   }
+}

--
Gitblit v1.10.0