Implementation of JUnit test cases for value property related classes. 15/5115/2
authorHarish Kumara Marappa <h.marappa@samsung.com>
Mon, 22 Feb 2016 13:29:50 +0000 (18:59 +0530)
committerMadan Lanka <lanka.madan@samsung.com>
Tue, 23 Feb 2016 07:21:39 +0000 (07:21 +0000)
1. Implementation of JUnit test cases for IntegerProperty, DoubleProperty,
BooleanProperty, StringProperty, ArrayProperty and ModelProperty classes.
2. Applied IoTivity Java code style formatter to all JUnit test case files.

Change-Id: I4a0c2afcc0bde0c752e96f01b562dba7754764b4
Signed-off-by: Harish Kumara Marappa <h.marappa@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/5115
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Madan Lanka <lanka.madan@samsung.com>
service/simulator/unittests/SimulatorTest/src/org/oic/simulator/client/test/SimulatorRemoteResourceTest.java
service/simulator/unittests/SimulatorTest/src/org/oic/simulator/server/test/SimulatorCollectionResourceTest.java
service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/ArrayPropertyTest.java [new file with mode: 0644]
service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/AttributeValueTest.java
service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/AttributeValueValidationTest.java [deleted file]
service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/BooleanPropertyTest.java [new file with mode: 0644]
service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/DoublePropertyTest.java [new file with mode: 0644]
service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/IntegerPropertyTest.java [new file with mode: 0644]
service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/ModelPropertyTest.java [new file with mode: 0644]
service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/SimulatorResourceModelTest.java
service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/StringPropertyTest.java [new file with mode: 0644]

index 392e010..a37f65b 100644 (file)
@@ -1010,8 +1010,8 @@ class ResponseDetails {
     }
 }
 
-class GetResponseCallbackListener implements
-        SimulatorRemoteResource.GetResponseListener {
+class GetResponseCallbackListener
+        implements SimulatorRemoteResource.GetResponseListener {
     private CountDownLatch                mLockObject;
     private ObjectHolder<ResponseDetails> mResponse;
 
@@ -1029,8 +1029,8 @@ class GetResponseCallbackListener implements
     }
 }
 
-class PutResponseCallbackListener implements
-        SimulatorRemoteResource.PutResponseListener {
+class PutResponseCallbackListener
+        implements SimulatorRemoteResource.PutResponseListener {
     private CountDownLatch                mLockObject;
     private ObjectHolder<ResponseDetails> mResponse;
 
@@ -1048,8 +1048,8 @@ class PutResponseCallbackListener implements
     }
 }
 
-class PostResponseCallbackListener implements
-        SimulatorRemoteResource.PostResponseListener {
+class PostResponseCallbackListener
+        implements SimulatorRemoteResource.PostResponseListener {
     private CountDownLatch                mLockObject;
     private ObjectHolder<ResponseDetails> mResponse;
 
@@ -1067,8 +1067,8 @@ class PostResponseCallbackListener implements
     }
 }
 
-class ObserveNotificationCallbackListener implements
-        SimulatorRemoteResource.ObserveNotificationListener {
+class ObserveNotificationCallbackListener
+        implements SimulatorRemoteResource.ObserveNotificationListener {
     private CountDownLatch                mLockObject;
     private ObjectHolder<ResponseDetails> mResponse;
 
@@ -1087,8 +1087,8 @@ class ObserveNotificationCallbackListener implements
     }
 }
 
-class VerificationCallbackListener implements
-        SimulatorRemoteResource.VerificationListener {
+class VerificationCallbackListener
+        implements SimulatorRemoteResource.VerificationListener {
     private CountDownLatch                mLockObject;
     private ObjectHolder<ResponseDetails> mResponse;
 
@@ -1100,22 +1100,22 @@ class VerificationCallbackListener implements
 
     @Override
     public void onVerificationStarted(String uid, int id) {
-        mResponse.set(new ResponseDetails(uid, SimulatorResult.SIMULATOR_OK,
-                null));
+        mResponse.set(
+                new ResponseDetails(uid, SimulatorResult.SIMULATOR_OK, null));
         mLockObject.countDown();
     }
 
     @Override
     public void onVerificationAborted(String uid, int id) {
-        mResponse.set(new ResponseDetails(uid, SimulatorResult.SIMULATOR_OK,
-                null));
+        mResponse.set(
+                new ResponseDetails(uid, SimulatorResult.SIMULATOR_OK, null));
         mLockObject.countDown();
     }
 
     @Override
     public void onVerificationCompleted(String uid, int id) {
-        mResponse.set(new ResponseDetails(uid, SimulatorResult.SIMULATOR_OK,
-                null));
+        mResponse.set(
+                new ResponseDetails(uid, SimulatorResult.SIMULATOR_OK, null));
         mLockObject.countDown();
     }
 }
index 475b708..d3cf462 100644 (file)
@@ -29,13 +29,6 @@ import org.oic.simulator.test.ExceptionType;
 import junit.framework.TestCase;
 
 public class SimulatorCollectionResourceTest extends TestCase {
-    static {
-        System.loadLibrary("SimulatorManager");
-        System.loadLibrary("RamlParser");
-        System.loadLibrary("oc");
-        System.loadLibrary("oc_logger");
-        System.loadLibrary("octbstack");
-    }
 
     private static final String         COLLECTION_RES_RAML = "./ramls/oic.d.airconditioner.raml";
     private SimulatorCollectionResource collectionResource  = null;
@@ -73,7 +66,7 @@ public class SimulatorCollectionResourceTest extends TestCase {
         Vector<SimulatorResource> result = null;
         try {
             collectionResource.addChildResource(childResource);
-            result = collectionResource.getChildResource();
+            result = collectionResource.getChildResources();
         } catch (InvalidArgsException e) {
             e.printStackTrace();
         } catch (SimulatorException e) {
@@ -106,7 +99,7 @@ public class SimulatorCollectionResourceTest extends TestCase {
         Vector<SimulatorResource> result = null;
         try {
             collectionResource.addChildResource(childResource);
-            result = collectionResource.getChildResource();
+            result = collectionResource.getChildResources();
         } catch (InvalidArgsException e) {
             e.printStackTrace();
         } catch (SimulatorException e) {
@@ -144,7 +137,7 @@ public class SimulatorCollectionResourceTest extends TestCase {
         try {
             collectionResource.addChildResource(childResource1);
             collectionResource.addChildResource(childResource2);
-            result = collectionResource.getChildResource();
+            result = collectionResource.getChildResources();
         } catch (InvalidArgsException e) {
             e.printStackTrace();
         } catch (SimulatorException e) {
@@ -181,7 +174,7 @@ public class SimulatorCollectionResourceTest extends TestCase {
             childResource = SimulatorManager.createResource(
                     SimulatorResource.Type.COLLECTION, name, uri, resType);
             collectionResource.addChildResource(childResource);
-            result = collectionResource.getChildResource();
+            result = collectionResource.getChildResources();
         } catch (InvalidArgsException e1) {
             e1.printStackTrace();
         } catch (SimulatorException e1) {
@@ -194,7 +187,7 @@ public class SimulatorCollectionResourceTest extends TestCase {
         int count = result.size();
         try {
             collectionResource.removeChildResource(childResource);
-            result = collectionResource.getChildResource();
+            result = collectionResource.getChildResources();
         } catch (InvalidArgsException e) {
             e.printStackTrace();
         } catch (SimulatorException e) {
@@ -231,7 +224,7 @@ public class SimulatorCollectionResourceTest extends TestCase {
             childResource = SimulatorManager.createResource(
                     SimulatorResource.Type.COLLECTION, name, uri, resType);
             collectionResource.addChildResource(childResource);
-            result = collectionResource.getChildResource();
+            result = collectionResource.getChildResources();
         } catch (InvalidArgsException e1) {
             e1.printStackTrace();
         } catch (SimulatorException e1) {
@@ -244,7 +237,7 @@ public class SimulatorCollectionResourceTest extends TestCase {
         int count = result.size();
         try {
             collectionResource.removeChildResourceByUri(childResource.getURI());
-            result = collectionResource.getChildResource();
+            result = collectionResource.getChildResources();
         } catch (InvalidArgsException e) {
             e.printStackTrace();
         } catch (SimulatorException e) {
diff --git a/service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/ArrayPropertyTest.java b/service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/ArrayPropertyTest.java
new file mode 100644 (file)
index 0000000..f74b439
--- /dev/null
@@ -0,0 +1,601 @@
+/*
+ * Copyright 2016 Samsung Electronics All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.oic.simulator.test;
+
+import org.oic.simulator.ArrayProperty;
+import org.oic.simulator.AttributeValue;
+import org.oic.simulator.BooleanProperty;
+import org.oic.simulator.DoubleProperty;
+import org.oic.simulator.IntegerProperty;
+import org.oic.simulator.InvalidArgsException;
+import org.oic.simulator.ModelProperty;
+import org.oic.simulator.SimulatorResourceModel;
+import org.oic.simulator.StringProperty;
+
+import junit.framework.TestCase;
+
+public class ArrayPropertyTest extends TestCase {
+
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    public void testArrayProperty_P01() {
+        ArrayProperty.Builder builder = new ArrayProperty.Builder();
+        builder.setElementProperty(new IntegerProperty.Builder().build());
+        ArrayProperty property = builder.build();
+
+        assertNotNull(property);
+    }
+
+    public void testArrayProperty_N01() {
+        ArrayProperty.Builder builder = new ArrayProperty.Builder();
+        ArrayProperty property = builder.build();
+
+        assertNull(property);
+    }
+
+    public void testIsInteger_P01() {
+        ArrayProperty.Builder builder = new ArrayProperty.Builder();
+        builder.setElementProperty(new IntegerProperty.Builder().build());
+        ArrayProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.isArray());
+    }
+
+    public void testHasRange_P01() {
+        ArrayProperty.Builder builder = new ArrayProperty.Builder();
+        builder.setElementProperty(new IntegerProperty.Builder().build());
+        builder.setRange(1, 2);
+
+        ArrayProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.hasRange());
+    }
+
+    public void testGetRange_P01() {
+        ArrayProperty.Builder builder = new ArrayProperty.Builder();
+        builder.setElementProperty(new IntegerProperty.Builder().build());
+        builder.setRange(1, 2);
+
+        ArrayProperty property = builder.build();
+
+        assertNotNull(property);
+        assertEquals(property.minItems(), 1);
+        assertEquals(property.maxItems(), 2);
+    }
+
+    public void testIsVariable_P01() {
+        ArrayProperty.Builder builder = new ArrayProperty.Builder();
+        builder.setElementProperty(new IntegerProperty.Builder().build());
+        builder.setVariableSize(true);
+
+        ArrayProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.isVariable());
+    }
+
+    public void testIsUnique_P01() {
+        ArrayProperty.Builder builder = new ArrayProperty.Builder();
+        builder.setElementProperty(new IntegerProperty.Builder().build());
+        builder.setUnique(true);
+
+        ArrayProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.isUnique());
+    }
+
+    public void testValidateInt1DArray_P01() {
+        ArrayProperty.Builder arrayBuilder = new ArrayProperty.Builder();
+        IntegerProperty.Builder intBuilder = new IntegerProperty.Builder();
+        intBuilder.setRange(1, 10);
+        arrayBuilder.setElementProperty(intBuilder.build());
+
+        ArrayProperty property = arrayBuilder.build();
+
+        int[] value = { 1, 5, 7 };
+
+        assertNotNull(property);
+        assertTrue(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateInt1DArray_N01() {
+        ArrayProperty.Builder arrayBuilder = new ArrayProperty.Builder();
+        IntegerProperty.Builder intBuilder = new IntegerProperty.Builder();
+        intBuilder.setRange(1, 10);
+        arrayBuilder.setElementProperty(intBuilder.build());
+
+        ArrayProperty property = arrayBuilder.build();
+
+        int[] value = { 1, 15 };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateInt1DArray_N02() {
+        ArrayProperty.Builder arrayBuilder = new ArrayProperty.Builder();
+        IntegerProperty.Builder intBuilder = new IntegerProperty.Builder();
+        intBuilder.setRange(1, 10);
+        arrayBuilder.setElementProperty(intBuilder.build());
+        arrayBuilder.setRange(1, 2);
+
+        ArrayProperty property = arrayBuilder.build();
+
+        int[] value = { 1, 5, 7 };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateInt2DArray_P01() {
+        ArrayProperty.Builder arrayBuilder1 = new ArrayProperty.Builder();
+        ArrayProperty.Builder arrayBuilder2 = new ArrayProperty.Builder();
+        IntegerProperty.Builder intBuilder = new IntegerProperty.Builder();
+        intBuilder.setRange(1, 10);
+        arrayBuilder2.setElementProperty(intBuilder.build());
+        arrayBuilder1.setElementProperty(arrayBuilder2.build());
+
+        ArrayProperty property = arrayBuilder1.build();
+
+        int[][] value = { { 1 } };
+
+        assertNotNull(property);
+        assertTrue(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateInt2DArray_N01() {
+        ArrayProperty.Builder arrayBuilder1 = new ArrayProperty.Builder();
+        ArrayProperty.Builder arrayBuilder2 = new ArrayProperty.Builder();
+        IntegerProperty.Builder intBuilder = new IntegerProperty.Builder();
+        intBuilder.setRange(1, 10);
+        arrayBuilder2.setElementProperty(intBuilder.build());
+        arrayBuilder1.setElementProperty(arrayBuilder2.build());
+
+        ArrayProperty property = arrayBuilder1.build();
+
+        int[][] value = { { 15 } };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateInt2DArray_N02() {
+        ArrayProperty.Builder arrayBuilder1 = new ArrayProperty.Builder();
+        ArrayProperty.Builder arrayBuilder2 = new ArrayProperty.Builder();
+        IntegerProperty.Builder intBuilder = new IntegerProperty.Builder();
+        intBuilder.setRange(1, 10);
+        arrayBuilder2.setElementProperty(intBuilder.build());
+        arrayBuilder2.setRange(1, 1);
+        arrayBuilder1.setElementProperty(arrayBuilder2.build());
+        arrayBuilder1.setRange(1, 1);
+
+        ArrayProperty property = arrayBuilder1.build();
+
+        int[][] value = { { 1, 2 } };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateInt2DArray_N03() {
+        ArrayProperty.Builder arrayBuilder1 = new ArrayProperty.Builder();
+        ArrayProperty.Builder arrayBuilder2 = new ArrayProperty.Builder();
+        IntegerProperty.Builder intBuilder = new IntegerProperty.Builder();
+        intBuilder.setRange(1, 10);
+        arrayBuilder2.setElementProperty(intBuilder.build());
+        arrayBuilder2.setRange(1, 1);
+        arrayBuilder1.setElementProperty(arrayBuilder2.build());
+        arrayBuilder1.setRange(1, 1);
+
+        ArrayProperty property = arrayBuilder1.build();
+
+        int[][] value = { { 1 }, { 2 } };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateDouble1DArray_P01() {
+        ArrayProperty.Builder arrayBuilder = new ArrayProperty.Builder();
+        DoubleProperty.Builder doubleBuilder = new DoubleProperty.Builder();
+        doubleBuilder.setRange(1.2, 10.5);
+        arrayBuilder.setElementProperty(doubleBuilder.build());
+
+        ArrayProperty property = arrayBuilder.build();
+
+        double[] value = { 1.3, 5.2, 10.4 };
+
+        assertNotNull(property);
+        assertTrue(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateDouble1DArray_N01() {
+        ArrayProperty.Builder arrayBuilder = new ArrayProperty.Builder();
+        DoubleProperty.Builder doubleBuilder = new DoubleProperty.Builder();
+        doubleBuilder.setRange(1.2, 10.5);
+        arrayBuilder.setElementProperty(doubleBuilder.build());
+
+        ArrayProperty property = arrayBuilder.build();
+
+        double[] value = { 5.5, 10.9 };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateDouble1DArray_N02() {
+        ArrayProperty.Builder arrayBuilder = new ArrayProperty.Builder();
+        DoubleProperty.Builder doubleBuilder = new DoubleProperty.Builder();
+        doubleBuilder.setRange(1.2, 10.5);
+        arrayBuilder.setElementProperty(doubleBuilder.build());
+        arrayBuilder.setRange(1, 2);
+
+        ArrayProperty property = arrayBuilder.build();
+
+        double[] value = { 1.3, 5.2, 10.4 };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateDouble2DArray_P01() {
+        ArrayProperty.Builder arrayBuilder1 = new ArrayProperty.Builder();
+        ArrayProperty.Builder arrayBuilder2 = new ArrayProperty.Builder();
+        DoubleProperty.Builder doubleBuilder = new DoubleProperty.Builder();
+        doubleBuilder.setRange(1.2, 10.5);
+        arrayBuilder2.setElementProperty(doubleBuilder.build());
+        arrayBuilder1.setElementProperty(arrayBuilder2.build());
+
+        ArrayProperty property = arrayBuilder1.build();
+
+        double[][] value = { { 5.5 } };
+
+        assertNotNull(property);
+        assertTrue(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateDouble2DArray_N01() {
+        ArrayProperty.Builder arrayBuilder1 = new ArrayProperty.Builder();
+        ArrayProperty.Builder arrayBuilder2 = new ArrayProperty.Builder();
+        DoubleProperty.Builder doubleBuilder = new DoubleProperty.Builder();
+        doubleBuilder.setRange(1.2, 10.5);
+        arrayBuilder2.setElementProperty(doubleBuilder.build());
+        arrayBuilder1.setElementProperty(arrayBuilder2.build());
+
+        ArrayProperty property = arrayBuilder1.build();
+
+        double[][] value = { { 10.9 } };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateDouble2DArray_N02() {
+        ArrayProperty.Builder arrayBuilder1 = new ArrayProperty.Builder();
+        ArrayProperty.Builder arrayBuilder2 = new ArrayProperty.Builder();
+        DoubleProperty.Builder doubleBuilder = new DoubleProperty.Builder();
+        doubleBuilder.setRange(1.2, 10.5);
+        arrayBuilder2.setElementProperty(doubleBuilder.build());
+        arrayBuilder2.setRange(1, 1);
+        arrayBuilder1.setElementProperty(arrayBuilder2.build());
+        arrayBuilder1.setRange(1, 1);
+
+        ArrayProperty property = arrayBuilder1.build();
+
+        double[][] value = { { 1.5, 2.5 } };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateDouble2DArray_N03() {
+        ArrayProperty.Builder arrayBuilder1 = new ArrayProperty.Builder();
+        ArrayProperty.Builder arrayBuilder2 = new ArrayProperty.Builder();
+        DoubleProperty.Builder doubleBuilder = new DoubleProperty.Builder();
+        doubleBuilder.setRange(1.2, 10.5);
+        arrayBuilder2.setElementProperty(doubleBuilder.build());
+        arrayBuilder2.setRange(1, 1);
+        arrayBuilder1.setElementProperty(arrayBuilder2.build());
+        arrayBuilder1.setRange(1, 1);
+
+        ArrayProperty property = arrayBuilder1.build();
+
+        double[][] value = { { 1.5 }, { 2.5 } };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateBoolean1DArray_P01() {
+        ArrayProperty.Builder arrayBuilder = new ArrayProperty.Builder();
+        BooleanProperty.Builder booleanBuilder = new BooleanProperty.Builder();
+        arrayBuilder.setElementProperty(booleanBuilder.build());
+
+        ArrayProperty property = arrayBuilder.build();
+
+        boolean[] value = { true, false };
+
+        assertNotNull(property);
+        assertTrue(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateBoolean1DArray_N01() {
+        ArrayProperty.Builder arrayBuilder = new ArrayProperty.Builder();
+        BooleanProperty.Builder booleanBuilder = new BooleanProperty.Builder();
+        arrayBuilder.setElementProperty(booleanBuilder.build());
+        arrayBuilder.setRange(1, 1);
+
+        ArrayProperty property = arrayBuilder.build();
+
+        boolean[] value = { true, false };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateBoolean2DArray_P01() {
+        ArrayProperty.Builder arrayBuilder1 = new ArrayProperty.Builder();
+        ArrayProperty.Builder arrayBuilder2 = new ArrayProperty.Builder();
+        BooleanProperty.Builder booleanBuilder = new BooleanProperty.Builder();
+        arrayBuilder2.setElementProperty(booleanBuilder.build());
+        arrayBuilder1.setElementProperty(arrayBuilder2.build());
+
+        ArrayProperty property = arrayBuilder1.build();
+
+        boolean[][] value = { { true, false } };
+
+        assertNotNull(property);
+        assertTrue(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateBoolean2DArray_N01() {
+        ArrayProperty.Builder arrayBuilder1 = new ArrayProperty.Builder();
+        ArrayProperty.Builder arrayBuilder2 = new ArrayProperty.Builder();
+        BooleanProperty.Builder booleanBuilder = new BooleanProperty.Builder();
+        arrayBuilder2.setElementProperty(booleanBuilder.build());
+        arrayBuilder2.setRange(1, 1);
+        arrayBuilder1.setElementProperty(arrayBuilder2.build());
+
+        ArrayProperty property = arrayBuilder1.build();
+
+        boolean[][] value = { { true, false } };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateBoolean2DArray_N02() {
+        ArrayProperty.Builder arrayBuilder1 = new ArrayProperty.Builder();
+        ArrayProperty.Builder arrayBuilder2 = new ArrayProperty.Builder();
+        BooleanProperty.Builder booleanBuilder = new BooleanProperty.Builder();
+        arrayBuilder2.setElementProperty(booleanBuilder.build());
+        arrayBuilder2.setRange(1, 1);
+        arrayBuilder1.setElementProperty(arrayBuilder2.build());
+        arrayBuilder1.setRange(1, 1);
+
+        ArrayProperty property = arrayBuilder1.build();
+
+        boolean[][] value = { { true }, { false } };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateString1DArray_P01() {
+        ArrayProperty.Builder arrayBuilder = new ArrayProperty.Builder();
+        StringProperty.Builder stringBuilder = new StringProperty.Builder();
+        stringBuilder.setRange(1, 5);
+        arrayBuilder.setElementProperty(stringBuilder.build());
+
+        ArrayProperty property = arrayBuilder.build();
+
+        String[] value = { "12345" };
+
+        assertNotNull(property);
+        assertTrue(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateString1DArray_N01() {
+        ArrayProperty.Builder arrayBuilder = new ArrayProperty.Builder();
+        StringProperty.Builder stringBuilder = new StringProperty.Builder();
+        stringBuilder.setRange(1, 5);
+        arrayBuilder.setElementProperty(stringBuilder.build());
+
+        ArrayProperty property = arrayBuilder.build();
+
+        String[] value = { "123456" };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateString1DArray_N02() {
+        ArrayProperty.Builder arrayBuilder = new ArrayProperty.Builder();
+        StringProperty.Builder stringBuilder = new StringProperty.Builder();
+        stringBuilder.setRange(1, 5);
+        arrayBuilder.setElementProperty(stringBuilder.build());
+        arrayBuilder.setRange(1, 2);
+
+        ArrayProperty property = arrayBuilder.build();
+
+        String[] value = { "1", "2", "3", "4" };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateString2DArray_P01() {
+        ArrayProperty.Builder arrayBuilder1 = new ArrayProperty.Builder();
+        ArrayProperty.Builder arrayBuilder2 = new ArrayProperty.Builder();
+        StringProperty.Builder stringBuilder = new StringProperty.Builder();
+        stringBuilder.setRange(1, 5);
+        arrayBuilder2.setElementProperty(stringBuilder.build());
+        arrayBuilder1.setElementProperty(arrayBuilder2.build());
+
+        ArrayProperty property = arrayBuilder1.build();
+
+        String[][] value = { { "12345" } };
+
+        assertNotNull(property);
+        assertTrue(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateString2DArray_N01() {
+        ArrayProperty.Builder arrayBuilder1 = new ArrayProperty.Builder();
+        ArrayProperty.Builder arrayBuilder2 = new ArrayProperty.Builder();
+        StringProperty.Builder stringBuilder = new StringProperty.Builder();
+        stringBuilder.setRange(1, 5);
+        arrayBuilder2.setElementProperty(stringBuilder.build());
+        arrayBuilder1.setElementProperty(arrayBuilder2.build());
+
+        ArrayProperty property = arrayBuilder1.build();
+
+        String[][] value = { { "123456" } };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateString2DArray_N02() {
+        ArrayProperty.Builder arrayBuilder1 = new ArrayProperty.Builder();
+        ArrayProperty.Builder arrayBuilder2 = new ArrayProperty.Builder();
+        StringProperty.Builder stringBuilder = new StringProperty.Builder();
+        stringBuilder.setRange(1, 5);
+        arrayBuilder2.setElementProperty(stringBuilder.build());
+        arrayBuilder2.setRange(1, 1);
+        arrayBuilder1.setElementProperty(arrayBuilder2.build());
+        arrayBuilder1.setRange(1, 1);
+
+        ArrayProperty property = arrayBuilder1.build();
+
+        String[][] value = { { "1", "2" } };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateString2DArray_N03() {
+        ArrayProperty.Builder arrayBuilder1 = new ArrayProperty.Builder();
+        ArrayProperty.Builder arrayBuilder2 = new ArrayProperty.Builder();
+        StringProperty.Builder stringBuilder = new StringProperty.Builder();
+        stringBuilder.setRange(1, 5);
+        arrayBuilder2.setElementProperty(stringBuilder.build());
+        arrayBuilder2.setRange(1, 1);
+        arrayBuilder1.setElementProperty(arrayBuilder2.build());
+        arrayBuilder1.setRange(1, 1);
+
+        ArrayProperty property = arrayBuilder1.build();
+
+        String[][] value = { { "1", "2" } };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(value)));
+    }
+
+    public void testValidateModel1DArray_P01() {
+        ArrayProperty.Builder arrayBuilder = new ArrayProperty.Builder();
+
+        {
+            ModelProperty modelProperty = new ModelProperty();
+
+            IntegerProperty.Builder intBuilder = new IntegerProperty.Builder();
+            intBuilder.setRange(1, 10);
+            modelProperty.add("int", intBuilder.build(), true);
+
+            DoubleProperty.Builder doubleBuilder = new DoubleProperty.Builder();
+            doubleBuilder.setRange(1.5, 5.5);
+            modelProperty.add("double", doubleBuilder.build(), true);
+
+            BooleanProperty.Builder booleanBuilder = new BooleanProperty.Builder();
+            modelProperty.add("boolean", booleanBuilder.build(), true);
+
+            StringProperty.Builder stringBuilder = new StringProperty.Builder();
+            stringBuilder.setRange(1, 5);
+            modelProperty.add("string", stringBuilder.build(), true);
+
+            arrayBuilder.setElementProperty(modelProperty);
+        }
+
+        ArrayProperty property = arrayBuilder.build();
+
+        SimulatorResourceModel value = new SimulatorResourceModel();
+        try {
+            value.set("int", new AttributeValue(5));
+            value.set("double", new AttributeValue(3.5));
+            value.set("boolean", new AttributeValue(true));
+            value.set("string", new AttributeValue("12345"));
+        } catch (InvalidArgsException e) {
+            e.printStackTrace();
+        }
+
+        SimulatorResourceModel[] values = { value };
+
+        assertNotNull(property);
+        assertTrue(property.validate(new AttributeValue(values)));
+    }
+
+    public void testValidateModel1DArray_N01() {
+        ArrayProperty.Builder arrayBuilder = new ArrayProperty.Builder();
+
+        {
+            ModelProperty modelProperty = new ModelProperty();
+
+            IntegerProperty.Builder intBuilder = new IntegerProperty.Builder();
+            intBuilder.setRange(1, 10);
+            modelProperty.add("int", intBuilder.build(), true);
+
+            DoubleProperty.Builder doubleBuilder = new DoubleProperty.Builder();
+            doubleBuilder.setRange(1.5, 5.5);
+            modelProperty.add("double", doubleBuilder.build(), true);
+
+            BooleanProperty.Builder booleanBuilder = new BooleanProperty.Builder();
+            modelProperty.add("boolean", booleanBuilder.build(), true);
+
+            StringProperty.Builder stringBuilder = new StringProperty.Builder();
+            stringBuilder.setRange(1, 5);
+            modelProperty.add("string", stringBuilder.build(), true);
+
+            arrayBuilder.setElementProperty(modelProperty);
+        }
+
+        ArrayProperty property = arrayBuilder.build();
+
+        SimulatorResourceModel value = new SimulatorResourceModel();
+        try {
+            value.set("int", new AttributeValue(5));
+            value.set("double", new AttributeValue(3.5));
+            value.set("boolean", new AttributeValue(true));
+            value.set("string", new AttributeValue("123456"));
+        } catch (InvalidArgsException e) {
+            e.printStackTrace();
+        }
+
+        SimulatorResourceModel[] values = { value };
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(values)));
+    }
+}
index b24ee5d..754c2f3 100644 (file)
@@ -50,8 +50,10 @@ public class AttributeValueTest extends TestCase {
         AttributeValue attribute = new AttributeValue(new Integer(5));
         assertNotNull(attribute);
         assertTrue(attribute.typeInfo() != null
-                && attribute.typeInfo().mType == AttributeValue.ValueType.INTEGER
-                && attribute.typeInfo().mBaseType == AttributeValue.ValueType.INTEGER
+                && attribute
+                        .typeInfo().mType == AttributeValue.ValueType.INTEGER
+                && attribute
+                        .typeInfo().mBaseType == AttributeValue.ValueType.INTEGER
                 && attribute.typeInfo().mDepth == 0);
     }
 
@@ -171,7 +173,8 @@ public class AttributeValueTest extends TestCase {
     }
 
     public void testAttributeValueDoubleArray_P02() {
-        Double[] array = { new Double(1.00), new Double(2.00), new Double(3.00) };
+        Double[] array = { new Double(1.00), new Double(2.00),
+                new Double(3.00) };
         AttributeValue value = new AttributeValue(array);
 
         assertNotNull(value);
@@ -261,7 +264,8 @@ public class AttributeValueTest extends TestCase {
     }
 
     public void testAttributeValueIntArrayArray_P02() {
-        Integer[][] array = { { new Integer(1), new Integer(2), new Integer(3) } };
+        Integer[][] array = {
+                { new Integer(1), new Integer(2), new Integer(3) } };
         AttributeValue value = new AttributeValue(array);
 
         assertNotNull(value);
@@ -283,8 +287,8 @@ public class AttributeValueTest extends TestCase {
     }
 
     public void testAttributeValueDoubleArrayArray_P02() {
-        Double[][] array = { { new Double(1.00), new Double(2.00),
-                new Double(3.00) } };
+        Double[][] array = {
+                { new Double(1.00), new Double(2.00), new Double(3.00) } };
         AttributeValue value = new AttributeValue(array);
 
         assertNotNull(value);
@@ -374,8 +378,8 @@ public class AttributeValueTest extends TestCase {
     }
 
     public void testAttributeValueIntArrayArrayArray_P02() {
-        Integer[][][] array = { { { new Integer(1), new Integer(2),
-                new Integer(3) } } };
+        Integer[][][] array = {
+                { { new Integer(1), new Integer(2), new Integer(3) } } };
         AttributeValue value = new AttributeValue(array);
 
         assertNotNull(value);
@@ -397,8 +401,8 @@ public class AttributeValueTest extends TestCase {
     }
 
     public void testAttributeValueDoubleArrayArrayArray_P02() {
-        Double[][][] array = { { { new Double(1.00), new Double(2.00),
-                new Double(3.00) } } };
+        Double[][][] array = {
+                { { new Double(1.00), new Double(2.00), new Double(3.00) } } };
         AttributeValue value = new AttributeValue(array);
 
         assertNotNull(value);
diff --git a/service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/AttributeValueValidationTest.java b/service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/AttributeValueValidationTest.java
deleted file mode 100644 (file)
index 8ba72fa..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-package org.oic.simulator.test;
-
-import org.oic.simulator.AttributeProperty;
-import org.oic.simulator.AttributeValue;
-import org.oic.simulator.AttributeValueValidation;
-
-import junit.framework.TestCase;
-
-public class AttributeValueValidationTest extends TestCase {
-    protected void setUp() throws Exception {
-        super.setUp();
-    }
-
-    protected void tearDown() throws Exception {
-        super.tearDown();
-    }
-
-    public void testValidateInt_P01() {
-        AttributeProperty property = new AttributeProperty(1, 10);
-        AttributeValueValidation validation = new AttributeValueValidation(
-                property);
-        assertTrue(validation.validate(new AttributeValue(5)));
-    }
-
-    public void testValidateInt_P02() {
-        int[] valueSet = { 1, 5, 7 };
-        AttributeProperty property = new AttributeProperty(valueSet);
-        AttributeValueValidation validation = new AttributeValueValidation(
-                property);
-        assertTrue(validation.validate(new AttributeValue(5)));
-    }
-
-    public void testValidateInt_N01() {
-        AttributeProperty property = new AttributeProperty(1, 10);
-        AttributeValueValidation validation = new AttributeValueValidation(
-                property);
-        assertFalse(validation.validate(new AttributeValue(15)));
-    }
-
-    public void testValidateInt_N02() {
-        int[] valueSet = { 1, 5, 7 };
-        AttributeProperty property = new AttributeProperty(valueSet);
-        AttributeValueValidation validation = new AttributeValueValidation(
-                property);
-        assertFalse(validation.validate(new AttributeValue(6)));
-    }
-
-    public void testValidateInt_N03() {
-        AttributeValueValidation validation = new AttributeValueValidation(null);
-        assertFalse(validation.validate(new AttributeValue(6)));
-    }
-
-    public void testValidateInt1DArray_P01() {
-        AttributeProperty arrayProp = new AttributeProperty(1, 2);
-        arrayProp.setChildProperty(new AttributeProperty(1, 10));
-
-        int[] value = { 1, 5 };
-        AttributeValueValidation validation = new AttributeValueValidation(
-                arrayProp);
-        assertTrue(validation.validate(new AttributeValue(value)));
-    }
-
-    public void testValidateInt1DArray_N01() {
-        AttributeProperty arrayProp = new AttributeProperty(1, 2);
-        arrayProp.setChildProperty(new AttributeProperty(1, 10));
-
-        int[] value = { 1, 5, 7 };
-        AttributeValueValidation validation = new AttributeValueValidation(
-                arrayProp);
-        assertFalse(validation.validate(new AttributeValue(value)));
-    }
-
-    public void testValidateInt1DArray_N02() {
-        AttributeProperty arrayProp = new AttributeProperty(1, 2);
-        arrayProp.setChildProperty(new AttributeProperty(1, 10));
-
-        int[] value = { 1, 15 };
-        AttributeValueValidation validation = new AttributeValueValidation(
-                arrayProp);
-        assertFalse(validation.validate(new AttributeValue(value)));
-    }
-
-    public void testValidateInt2DArray_P01() {
-        AttributeProperty array1Prop = new AttributeProperty(1, 1);
-        AttributeProperty array2Prop = new AttributeProperty(1, 1);
-        AttributeProperty valueProp = new AttributeProperty(1, 10);
-        array1Prop.setChildProperty(array2Prop);
-        array2Prop.setChildProperty(valueProp);
-
-        int[][] value = { { 1 } };
-        AttributeValueValidation validation = new AttributeValueValidation(
-                array1Prop);
-        assertTrue(validation.validate(new AttributeValue(value)));
-    }
-
-    public void testValidateInt2DArray_N01() {
-        AttributeProperty array1Prop = new AttributeProperty(1, 1);
-        AttributeProperty array2Prop = new AttributeProperty(1, 1);
-        AttributeProperty valueProp = new AttributeProperty(1, 10);
-        array1Prop.setChildProperty(array2Prop);
-        array2Prop.setChildProperty(valueProp);
-
-        int[][] value = { { 1 }, { 2 } };
-        AttributeValueValidation validation = new AttributeValueValidation(
-                array1Prop);
-        assertFalse(validation.validate(new AttributeValue(value)));
-    }
-
-    public void testValidateInt2DArray_N02() {
-        AttributeProperty array1Prop = new AttributeProperty(1, 1);
-        AttributeProperty array2Prop = new AttributeProperty(1, 1);
-        AttributeProperty valueProp = new AttributeProperty(1, 10);
-        array1Prop.setChildProperty(array2Prop);
-        array2Prop.setChildProperty(valueProp);
-
-        int[][] value = { { 1, 2 } };
-        AttributeValueValidation validation = new AttributeValueValidation(
-                array1Prop);
-        assertFalse(validation.validate(new AttributeValue(value)));
-    }
-
-    public void testValidateInt2DArray_N03() {
-        AttributeProperty array1Prop = new AttributeProperty(1, 1);
-        AttributeProperty array2Prop = new AttributeProperty(1, 1);
-        AttributeProperty valueProp = new AttributeProperty(1, 10);
-        array1Prop.setChildProperty(array2Prop);
-        array2Prop.setChildProperty(valueProp);
-
-        int[][] value = { { 15 } };
-        AttributeValueValidation validation = new AttributeValueValidation(
-                array1Prop);
-        assertFalse(validation.validate(new AttributeValue(value)));
-    }
-
-    public void testValidateDouble_P01() {
-        AttributeProperty property = new AttributeProperty(1, 10);
-        AttributeValueValidation validation = new AttributeValueValidation(
-                property);
-        assertTrue(validation.validate(new AttributeValue(5.12)));
-    }
-
-    public void testValidateDouble_P02() {
-        double[] valueSet = { 1.0, 5.12, 7.0 };
-        AttributeProperty property = new AttributeProperty(valueSet);
-        AttributeValueValidation validation = new AttributeValueValidation(
-                property);
-        assertTrue(validation.validate(new AttributeValue(5.12)));
-    }
-
-    public void testValidateDouble_N01() {
-        AttributeProperty property = new AttributeProperty(1, 10);
-        AttributeValueValidation validation = new AttributeValueValidation(
-                property);
-        assertFalse(validation.validate(new AttributeValue(15.23)));
-    }
-
-    public void testValidateDouble_N02() {
-        double[] valueSet = { 1.0, 5.12, 7.0 };
-        AttributeProperty property = new AttributeProperty(valueSet);
-        AttributeValueValidation validation = new AttributeValueValidation(
-                property);
-        assertFalse(validation.validate(new AttributeValue(6.0)));
-    }
-
-    public void testValidateDouble_N03() {
-        AttributeValueValidation validation = new AttributeValueValidation(null);
-        assertFalse(validation.validate(new AttributeValue(6.0)));
-    }
-
-    public void testValidateDouble1DArray_P01() {
-        AttributeProperty arrayProp = new AttributeProperty(1, 2);
-        arrayProp.setChildProperty(new AttributeProperty(1, 10));
-
-        double[] value = { 1.2, 5.2 };
-        AttributeValueValidation validation = new AttributeValueValidation(
-                arrayProp);
-        assertTrue(validation.validate(new AttributeValue(value)));
-    }
-
-    public void testValidateDouble1DArray_N01() {
-        AttributeProperty arrayProp = new AttributeProperty(1, 2);
-        arrayProp.setChildProperty(new AttributeProperty(1, 10));
-
-        double[] value = { 1.2, 5.2, 7.2 };
-        AttributeValueValidation validation = new AttributeValueValidation(
-                arrayProp);
-        assertFalse(validation.validate(new AttributeValue(value)));
-    }
-
-    public void testValidateDouble1DArray_N02() {
-        AttributeProperty arrayProp = new AttributeProperty(1, 2);
-        arrayProp.setChildProperty(new AttributeProperty(1, 10));
-
-        double[] value = { 1.2, 15.2 };
-        AttributeValueValidation validation = new AttributeValueValidation(
-                arrayProp);
-        assertFalse(validation.validate(new AttributeValue(value)));
-    }
-
-    public void testValidateDouble2DArray_P01() {
-        AttributeProperty array1Prop = new AttributeProperty(1, 1);
-        AttributeProperty array2Prop = new AttributeProperty(1, 1);
-        AttributeProperty valueProp = new AttributeProperty(1, 10);
-        array1Prop.setChildProperty(array2Prop);
-        array2Prop.setChildProperty(valueProp);
-
-        double[][] value = { { 1.2 } };
-        AttributeValueValidation validation = new AttributeValueValidation(
-                array1Prop);
-        assertTrue(validation.validate(new AttributeValue(value)));
-    }
-
-    public void testValidateDouble2DArray_N01() {
-        AttributeProperty array1Prop = new AttributeProperty(1, 1);
-        AttributeProperty array2Prop = new AttributeProperty(1, 1);
-        AttributeProperty valueProp = new AttributeProperty(1, 10);
-        array1Prop.setChildProperty(array2Prop);
-        array2Prop.setChildProperty(valueProp);
-
-        double[][] value = { { 1.2 }, { 2.2 } };
-        AttributeValueValidation validation = new AttributeValueValidation(
-                array1Prop);
-        assertFalse(validation.validate(new AttributeValue(value)));
-    }
-
-    public void testValidateDouble2DArray_N02() {
-        AttributeProperty array1Prop = new AttributeProperty(1, 1);
-        AttributeProperty array2Prop = new AttributeProperty(1, 1);
-        AttributeProperty valueProp = new AttributeProperty(1, 10);
-        array1Prop.setChildProperty(array2Prop);
-        array2Prop.setChildProperty(valueProp);
-
-        double[][] value = { { 1.2, 2.2 } };
-        AttributeValueValidation validation = new AttributeValueValidation(
-                array1Prop);
-        assertFalse(validation.validate(new AttributeValue(value)));
-    }
-
-    public void testValidateDouble2DArray_N03() {
-        AttributeProperty array1Prop = new AttributeProperty(1, 1);
-        AttributeProperty array2Prop = new AttributeProperty(1, 1);
-        AttributeProperty valueProp = new AttributeProperty(1, 10);
-        array1Prop.setChildProperty(array2Prop);
-        array2Prop.setChildProperty(valueProp);
-
-        double[][] value = { { 15.2 } };
-        AttributeValueValidation validation = new AttributeValueValidation(
-                array1Prop);
-        assertFalse(validation.validate(new AttributeValue(value)));
-    }
-}
diff --git a/service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/BooleanPropertyTest.java b/service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/BooleanPropertyTest.java
new file mode 100644 (file)
index 0000000..ff568ad
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+ * Copyright 2016 Samsung Electronics All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.oic.simulator.test;
+
+import org.oic.simulator.AttributeValue;
+import org.oic.simulator.BooleanProperty;
+
+import junit.framework.TestCase;
+
+public class BooleanPropertyTest extends TestCase {
+
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    public void testBooleanProperty_P01() {
+        BooleanProperty property = new BooleanProperty.Builder().build();
+
+        assertNotNull(property);
+        assertEquals(property.getDefaultValue(), true);
+    }
+
+    public void testIsBoolean_P01() {
+        BooleanProperty property = new BooleanProperty.Builder().build();
+
+        assertNotNull(property);
+        assertTrue(property.isBoolean());
+    }
+
+    public void testGetDefaultValue_P02() {
+        BooleanProperty.Builder builder = new BooleanProperty.Builder();
+        builder.setDefaultValue(true);
+
+        BooleanProperty property = builder.build();
+
+        assertNotNull(property);
+        assertEquals(property.getDefaultValue(), true);
+    }
+
+    public void testValidate_P01() {
+        BooleanProperty.Builder builder = new BooleanProperty.Builder();
+        builder.setDefaultValue(true);
+
+        BooleanProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.validate(new AttributeValue(false)));
+    }
+
+    public void testValidate_P02() {
+        BooleanProperty.Builder builder = new BooleanProperty.Builder();
+        builder.setDefaultValue(true);
+
+        BooleanProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.validate(false));
+    }
+}
diff --git a/service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/DoublePropertyTest.java b/service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/DoublePropertyTest.java
new file mode 100644 (file)
index 0000000..26c1573
--- /dev/null
@@ -0,0 +1,185 @@
+/*
+ * Copyright 2016 Samsung Electronics All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.oic.simulator.test;
+
+import org.oic.simulator.AttributeValue;
+import org.oic.simulator.DoubleProperty;
+
+import junit.framework.TestCase;
+
+public class DoublePropertyTest extends TestCase {
+
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    public void testDoubleProperty_P01() {
+        DoubleProperty property = new DoubleProperty.Builder().build();
+
+        assertNotNull(property);
+        assertEquals(property.getDefaultValue(), 0.0);
+    }
+
+    public void testIsDouble_P01() {
+        DoubleProperty property = new DoubleProperty.Builder().build();
+
+        assertNotNull(property);
+        assertTrue(property.isDouble());
+    }
+
+    public void testGetDefaultValue_P02() {
+        DoubleProperty.Builder builder = new DoubleProperty.Builder();
+        builder.setDefaultValue(3.142);
+
+        DoubleProperty property = builder.build();
+
+        assertNotNull(property);
+        assertEquals(property.getDefaultValue(), 3.142);
+    }
+
+    public void testHasRange_P01() {
+        DoubleProperty.Builder builder = new DoubleProperty.Builder();
+        builder.setRange(1.0, 10.25);
+
+        DoubleProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.hasRange());
+    }
+
+    public void testGetRange_P03() {
+        DoubleProperty.Builder builder = new DoubleProperty.Builder();
+        builder.setRange(1.0, 10.25);
+
+        DoubleProperty property = builder.build();
+
+        assertNotNull(property);
+        assertEquals(property.min(), 1.0);
+        assertEquals(property.max(), 10.25);
+    }
+
+    public void testHasValues_P01() {
+        DoubleProperty.Builder builder = new DoubleProperty.Builder();
+        double[] values = { 1.5, 2, 3.2 };
+        builder.setValues(values);
+
+        DoubleProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.hasValues());
+    }
+
+    public void testGetValues_P04() {
+        DoubleProperty.Builder builder = new DoubleProperty.Builder();
+        double[] values = { 1.5, 2, 3.2 };
+        builder.setValues(values);
+
+        DoubleProperty property = builder.build();
+
+        assertNotNull(property);
+        assertNotNull(property.getValues());
+        assertEquals(property.getValues().length, 3);
+    }
+
+    public void testValidate_P04() {
+        DoubleProperty.Builder builder = new DoubleProperty.Builder();
+        builder.setRange(1.0, 10.25);
+
+        DoubleProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.validate(new AttributeValue(3.25)));
+    }
+
+    public void testValidate_P05() {
+        DoubleProperty.Builder builder = new DoubleProperty.Builder();
+        builder.setRange(1.0, 10.25);
+
+        DoubleProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.validate(3.25));
+    }
+
+    public void testValidate_P06() {
+        DoubleProperty.Builder builder = new DoubleProperty.Builder();
+        double[] values = { 1.5, 2, 3.2 };
+        builder.setValues(values);
+
+        DoubleProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.validate(new AttributeValue(3.2)));
+    }
+
+    public void testValidate_P07() {
+        DoubleProperty.Builder builder = new DoubleProperty.Builder();
+        double[] values = { 1.5, 2, 3.2 };
+        builder.setValues(values);
+
+        DoubleProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.validate(3.2));
+    }
+
+    public void testValidate_N01() {
+        DoubleProperty.Builder builder = new DoubleProperty.Builder();
+        builder.setRange(1.0, 10.25);
+
+        DoubleProperty property = builder.build();
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(11.5)));
+    }
+
+    public void testValidate_N02() {
+        DoubleProperty.Builder builder = new DoubleProperty.Builder();
+        builder.setRange(1.0, 10.25);
+
+        DoubleProperty property = builder.build();
+
+        assertNotNull(property);
+        assertFalse(property.validate(11.5));
+    }
+
+    public void testValidate_N04() {
+        DoubleProperty.Builder builder = new DoubleProperty.Builder();
+        double[] values = { 1.5, 2, 3.2 };
+        builder.setValues(values);
+
+        DoubleProperty property = builder.build();
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(11.25)));
+    }
+
+    public void testValidate_N05() {
+        DoubleProperty.Builder builder = new DoubleProperty.Builder();
+        double[] values = { 1.5, 2, 3.2 };
+        builder.setValues(values);
+
+        DoubleProperty property = builder.build();
+
+        assertNotNull(property);
+        assertFalse(property.validate(11.25));
+    }
+}
diff --git a/service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/IntegerPropertyTest.java b/service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/IntegerPropertyTest.java
new file mode 100644 (file)
index 0000000..e952dfe
--- /dev/null
@@ -0,0 +1,186 @@
+/*
+ * Copyright 2016 Samsung Electronics All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.oic.simulator.test;
+
+import org.oic.simulator.AttributeValue;
+import org.oic.simulator.IntegerProperty;
+
+import junit.framework.TestCase;
+
+public class IntegerPropertyTest extends TestCase {
+
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    public void testIntegerProperty_P01() {
+        IntegerProperty property = new IntegerProperty.Builder().build();
+
+        assertNotNull(property);
+        assertEquals(property.getDefaultValue(), 0);
+    }
+
+    public void testIsInteger_P01() {
+        IntegerProperty property = new IntegerProperty.Builder().build();
+
+        assertNotNull(property);
+        assertTrue(property.isInteger());
+    }
+
+    public void testGetDefaultValue_P02() {
+        IntegerProperty.Builder builder = new IntegerProperty.Builder();
+        builder.setDefaultValue(10);
+
+        IntegerProperty property = builder.build();
+
+        assertNotNull(property);
+        assertEquals(property.getDefaultValue(), 10);
+    }
+
+    public void testHasRange_P01() {
+        IntegerProperty.Builder builder = new IntegerProperty.Builder();
+        builder.setRange(1, 10);
+
+        IntegerProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.hasRange());
+    }
+
+    public void testGetRange_P03() {
+        IntegerProperty.Builder builder = new IntegerProperty.Builder();
+        builder.setRange(1, 10);
+
+        IntegerProperty property = builder.build();
+
+        assertNotNull(property);
+        assertEquals(property.min(), 1);
+        assertEquals(property.max(), 10);
+    }
+
+    public void testHasValues_P01() {
+        IntegerProperty.Builder builder = new IntegerProperty.Builder();
+        int[] values = { 1, 2, 3 };
+        builder.setValues(values);
+
+        IntegerProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.hasValues());
+    }
+
+    public void testGetValues_P04() {
+        IntegerProperty.Builder builder = new IntegerProperty.Builder();
+        int[] values = { 1, 2, 3 };
+        builder.setValues(values);
+
+        IntegerProperty property = builder.build();
+
+        assertNotNull(property);
+        assertEquals(property.getDefaultValue(), 0);
+        assertNotNull(property.getValues());
+        assertEquals(property.getValues().length, 3);
+    }
+
+    public void testValidate_P04() {
+        IntegerProperty.Builder builder = new IntegerProperty.Builder();
+        builder.setRange(1, 10);
+
+        IntegerProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.validate(new AttributeValue(3)));
+    }
+
+    public void testValidate_P05() {
+        IntegerProperty.Builder builder = new IntegerProperty.Builder();
+        builder.setRange(1, 10);
+
+        IntegerProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.validate(3));
+    }
+
+    public void testValidate_P06() {
+        IntegerProperty.Builder builder = new IntegerProperty.Builder();
+        int[] values = { 1, 2, 3 };
+        builder.setValues(values);
+
+        IntegerProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.validate(new AttributeValue(3)));
+    }
+
+    public void testValidate_P07() {
+        IntegerProperty.Builder builder = new IntegerProperty.Builder();
+        int[] values = { 1, 2, 3 };
+        builder.setValues(values);
+
+        IntegerProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.validate(3));
+    }
+
+    public void testValidate_N01() {
+        IntegerProperty.Builder builder = new IntegerProperty.Builder();
+        builder.setRange(1, 10);
+
+        IntegerProperty property = builder.build();
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(11)));
+    }
+
+    public void testValidate_N02() {
+        IntegerProperty.Builder builder = new IntegerProperty.Builder();
+        builder.setRange(1, 10);
+
+        IntegerProperty property = builder.build();
+
+        assertNotNull(property);
+        assertFalse(property.validate(11));
+    }
+
+    public void testValidate_N04() {
+        IntegerProperty.Builder builder = new IntegerProperty.Builder();
+        int[] values = { 1, 2, 3 };
+        builder.setValues(values);
+
+        IntegerProperty property = builder.build();
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue(11)));
+    }
+
+    public void testValidate_N05() {
+        IntegerProperty.Builder builder = new IntegerProperty.Builder();
+        int[] values = { 1, 2, 3 };
+        builder.setValues(values);
+
+        IntegerProperty property = builder.build();
+
+        assertNotNull(property);
+        assertFalse(property.validate(11));
+    }
+}
diff --git a/service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/ModelPropertyTest.java b/service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/ModelPropertyTest.java
new file mode 100644 (file)
index 0000000..b3549f9
--- /dev/null
@@ -0,0 +1,240 @@
+/*
+ * Copyright 2016 Samsung Electronics All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.oic.simulator.test;
+
+import org.oic.simulator.AttributeValue;
+import org.oic.simulator.BooleanProperty;
+import org.oic.simulator.DoubleProperty;
+import org.oic.simulator.IntegerProperty;
+import org.oic.simulator.InvalidArgsException;
+import org.oic.simulator.ModelProperty;
+import org.oic.simulator.SimulatorResourceModel;
+import org.oic.simulator.StringProperty;
+
+import junit.framework.TestCase;
+
+public class ModelPropertyTest extends TestCase {
+
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    public void testModelProperty_P01() {
+        ModelProperty property = new ModelProperty();
+
+        assertNotNull(property);
+    }
+
+    public void testIsModel_P01() {
+        ModelProperty property = new ModelProperty();
+
+        assertNotNull(property);
+        assertTrue(property.isModel());
+    }
+
+    public void testAdd_P01() {
+        ModelProperty property = new ModelProperty();
+        boolean result = property.add("int",
+                new IntegerProperty.Builder().build(), true);
+
+        assertTrue(result);
+        assertNotNull(property.get("int"));
+    }
+
+    public void testAdd_N01() {
+        ModelProperty property = new ModelProperty();
+        boolean result = property.add(null,
+                new IntegerProperty.Builder().build(), true);
+
+        assertFalse(result);
+        assertNull(property.get("int"));
+    }
+
+    public void testAdd_N02() {
+        ModelProperty property = new ModelProperty();
+        boolean result = property.add("int", null, true);
+
+        assertFalse(result);
+        assertNull(property.get("int"));
+    }
+
+    public void testRemove_P01() {
+        ModelProperty property = new ModelProperty();
+        boolean result = property.add("int",
+                new IntegerProperty.Builder().build(), true);
+        assertTrue(result);
+
+        property.remove("int");
+        assertNull(property.get("int"));
+    }
+
+    public void testRemove_N01() {
+        ModelProperty property = new ModelProperty();
+        boolean result = property.add("int",
+                new IntegerProperty.Builder().build(), true);
+        assertTrue(result);
+
+        property.remove("wrong-key");
+        assertNotNull(property.get("int"));
+    }
+
+    public void testRemove_N02() {
+        ModelProperty property = new ModelProperty();
+        boolean result = property.add("int",
+                new IntegerProperty.Builder().build(), true);
+        assertTrue(result);
+
+        property.remove(null);
+        assertNotNull(property.get("int"));
+    }
+
+    public void testGet_P01() {
+        ModelProperty property = new ModelProperty();
+        boolean result = property.add("int",
+                new IntegerProperty.Builder().build(), true);
+        assertTrue(result);
+
+        assertNotNull(property.get("int"));
+    }
+
+    public void testGetChildProperties_P01() {
+        ModelProperty property = new ModelProperty();
+
+        boolean result = property.add("int",
+                new IntegerProperty.Builder().build(), true);
+        assertTrue(result);
+
+        result = property.add("double", new DoubleProperty.Builder().build(),
+                true);
+        assertTrue(result);
+
+        assertNotNull(property.getChildProperties());
+        assertEquals(property.getChildProperties().size(), 2);
+    }
+
+    public void testIsRequired_P01() {
+        ModelProperty property = new ModelProperty();
+
+        boolean result = property.add("int",
+                new IntegerProperty.Builder().build(), true);
+        assertTrue(result);
+
+        result = property.add("double", new DoubleProperty.Builder().build(),
+                false);
+        assertTrue(result);
+
+        assertEquals(property.isRequired("int"), true);
+        assertEquals(property.isRequired("double"), false);
+    }
+
+    public void testValidate_P01() {
+        ModelProperty modelProperty = new ModelProperty();
+
+        IntegerProperty.Builder intBuilder = new IntegerProperty.Builder();
+        intBuilder.setRange(1, 10);
+        modelProperty.add("int", intBuilder.build(), true);
+
+        DoubleProperty.Builder doubleBuilder = new DoubleProperty.Builder();
+        doubleBuilder.setRange(1.5, 5.5);
+        modelProperty.add("double", doubleBuilder.build(), true);
+
+        BooleanProperty.Builder booleanBuilder = new BooleanProperty.Builder();
+        modelProperty.add("boolean", booleanBuilder.build(), true);
+
+        StringProperty.Builder stringBuilder = new StringProperty.Builder();
+        stringBuilder.setRange(1, 5);
+        modelProperty.add("string", stringBuilder.build(), true);
+
+        SimulatorResourceModel value = new SimulatorResourceModel();
+        try {
+            value.set("int", new AttributeValue(5));
+            value.set("double", new AttributeValue(3.5));
+            value.set("boolean", new AttributeValue(true));
+            value.set("string", new AttributeValue("12345"));
+        } catch (InvalidArgsException e) {
+            e.printStackTrace();
+        }
+
+        assertTrue(modelProperty.validate(new AttributeValue(value)));
+    }
+
+    public void testValidate_P02() {
+        ModelProperty modelProperty = new ModelProperty();
+
+        IntegerProperty.Builder intBuilder = new IntegerProperty.Builder();
+        intBuilder.setRange(1, 10);
+        modelProperty.add("int", intBuilder.build(), true);
+
+        DoubleProperty.Builder doubleBuilder = new DoubleProperty.Builder();
+        doubleBuilder.setRange(1.5, 5.5);
+        modelProperty.add("double", doubleBuilder.build(), true);
+
+        BooleanProperty.Builder booleanBuilder = new BooleanProperty.Builder();
+        modelProperty.add("boolean", booleanBuilder.build(), true);
+
+        StringProperty.Builder stringBuilder = new StringProperty.Builder();
+        stringBuilder.setRange(1, 5);
+        modelProperty.add("string", stringBuilder.build(), true);
+
+        SimulatorResourceModel value = new SimulatorResourceModel();
+        try {
+            value.set("int", new AttributeValue(5));
+            value.set("double", new AttributeValue(3.5));
+            value.set("boolean", new AttributeValue(true));
+            value.set("string", new AttributeValue("12345"));
+        } catch (InvalidArgsException e) {
+            e.printStackTrace();
+        }
+
+        assertTrue(modelProperty.validate(value));
+    }
+
+    public void testValidate_N01() {
+        ModelProperty modelProperty = new ModelProperty();
+
+        IntegerProperty.Builder intBuilder = new IntegerProperty.Builder();
+        intBuilder.setRange(1, 10);
+        modelProperty.add("int", intBuilder.build(), true);
+
+        DoubleProperty.Builder doubleBuilder = new DoubleProperty.Builder();
+        doubleBuilder.setRange(1.5, 5.5);
+        modelProperty.add("double", doubleBuilder.build(), true);
+
+        BooleanProperty.Builder booleanBuilder = new BooleanProperty.Builder();
+        modelProperty.add("boolean", booleanBuilder.build(), true);
+
+        StringProperty.Builder stringBuilder = new StringProperty.Builder();
+        stringBuilder.setRange(1, 5);
+        modelProperty.add("string", stringBuilder.build(), true);
+
+        SimulatorResourceModel value = new SimulatorResourceModel();
+        try {
+            value.set("int", new AttributeValue(5));
+            value.set("double", new AttributeValue(3.5));
+            value.set("boolean", new AttributeValue(true));
+            value.set("string", new AttributeValue("123456"));
+        } catch (InvalidArgsException e) {
+            e.printStackTrace();
+        }
+
+        assertFalse(modelProperty.validate(new AttributeValue(value)));
+    }
+}
index 20b6689..45fc7fb 100644 (file)
@@ -18,13 +18,12 @@ package org.oic.simulator.test;
 
 import java.util.Map;
 
+import junit.framework.TestCase;
+
 import org.oic.simulator.AttributeValue;
 import org.oic.simulator.InvalidArgsException;
-import org.oic.simulator.SimulatorResourceAttribute;
 import org.oic.simulator.SimulatorResourceModel;
 
-import junit.framework.TestCase;
-
 /**
  * This class tests the APIs of SimulatorResourceModel class.
  */
diff --git a/service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/StringPropertyTest.java b/service/simulator/unittests/SimulatorTest/src/org/oic/simulator/test/StringPropertyTest.java
new file mode 100644 (file)
index 0000000..824f622
--- /dev/null
@@ -0,0 +1,194 @@
+/*
+ * Copyright 2016 Samsung Electronics All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.oic.simulator.test;
+
+import org.oic.simulator.AttributeValue;
+import org.oic.simulator.StringProperty;
+
+import junit.framework.TestCase;
+
+public class StringPropertyTest extends TestCase {
+
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    public void testStringProperty_P01() {
+        StringProperty property = new StringProperty.Builder().build();
+
+        assertNotNull(property);
+    }
+
+    public void testIsString_P01() {
+        StringProperty property = new StringProperty.Builder().build();
+
+        assertNotNull(property);
+        assertTrue(property.isString());
+    }
+
+    public void testHasRange_P01() {
+        StringProperty.Builder builder = new StringProperty.Builder();
+        builder.setRange(1, 5);
+
+        StringProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.hasRange());
+    }
+
+    public void testGetRange_P01() {
+        StringProperty.Builder builder = new StringProperty.Builder();
+        builder.setRange(1, 5);
+
+        StringProperty property = builder.build();
+
+        assertNotNull(property);
+        assertEquals(property.min(), 1);
+        assertEquals(property.max(), 5);
+    }
+
+    public void testHasValues_P01() {
+        StringProperty.Builder builder = new StringProperty.Builder();
+        String[] values = { "value1", "value2" };
+        builder.setValues(values);
+
+        StringProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.hasValues());
+    }
+
+    public void testGetValues_P01() {
+        StringProperty.Builder builder = new StringProperty.Builder();
+        String[] values = { "value1", "value2" };
+        builder.setValues(values);
+
+        StringProperty property = builder.build();
+
+        assertNotNull(property);
+        assertNotNull(property.getValues());
+        assertEquals(property.getValues().length, 2);
+    }
+
+    public void testValidate_P01() {
+        StringProperty.Builder builder = new StringProperty.Builder();
+        builder.setRange(1, 5);
+
+        StringProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.validate(new AttributeValue("12345")));
+    }
+
+    public void testValidate_P02() {
+        StringProperty.Builder builder = new StringProperty.Builder();
+        builder.setRange(1, 5);
+
+        StringProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.validate("12345"));
+    }
+
+    public void testValidate_P03() {
+        StringProperty.Builder builder = new StringProperty.Builder();
+        String[] values = { "value1", "value2" };
+        builder.setValues(values);
+
+        StringProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.validate(new AttributeValue("value1")));
+    }
+
+    public void testValidate_P04() {
+        StringProperty.Builder builder = new StringProperty.Builder();
+        String[] values = { "value1", "value2" };
+        builder.setValues(values);
+
+        StringProperty property = builder.build();
+
+        assertNotNull(property);
+        assertTrue(property.validate("value1"));
+    }
+
+    public void testValidate_N01() {
+        StringProperty.Builder builder = new StringProperty.Builder();
+        builder.setRange(1, 5);
+
+        StringProperty property = builder.build();
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue("123456")));
+    }
+
+    public void testValidate_N02() {
+        StringProperty.Builder builder = new StringProperty.Builder();
+        builder.setRange(1, 5);
+
+        StringProperty property = builder.build();
+
+        assertNotNull(property);
+        assertFalse(property.validate("123456"));
+    }
+
+    public void testValidate_N03() {
+        StringProperty.Builder builder = new StringProperty.Builder();
+        builder.setRange(3, 5);
+
+        StringProperty property = builder.build();
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue("12")));
+    }
+
+    public void testValidate_N04() {
+        StringProperty.Builder builder = new StringProperty.Builder();
+        builder.setRange(3, 5);
+
+        StringProperty property = builder.build();
+
+        assertNotNull(property);
+        assertFalse(property.validate("12"));
+    }
+
+    public void testValidate_N05() {
+        StringProperty.Builder builder = new StringProperty.Builder();
+        String[] values = { "value1", "value2" };
+        builder.setValues(values);
+
+        StringProperty property = builder.build();
+
+        assertNotNull(property);
+        assertFalse(property.validate(new AttributeValue("wrong-value")));
+    }
+
+    public void testValidate_N06() {
+        StringProperty.Builder builder = new StringProperty.Builder();
+        String[] values = { "value1", "value2" };
+        builder.setValues(values);
+
+        StringProperty property = builder.build();
+
+        assertNotNull(property);
+        assertFalse(property.validate("wrong-value"));
+    }
+}