create tests for ScalarUnitValidator.java 46/109246/3
authorJulienBe <julien.bertozzi@intl.att.com>
Wed, 17 Jun 2020 12:22:53 +0000 (14:22 +0200)
committerOfir Sonsino <ofir.sonsino@intl.att.com>
Thu, 18 Jun 2020 05:41:22 +0000 (05:41 +0000)
Issue-ID: SDC-3123
Change-Id: Iaa60ce2df46ee7a4d9138a56cf4d4c115a059240
Signed-off-by: JulienBe <julien.bertozzi@intl.att.com>
common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/datatypes/model/ScalarUnitValidator.java
common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/datatypes/model/ScalarUnitValidatorTest.java [new file with mode: 0644]

index d7e538e..5e2e2e5 100644 (file)
@@ -28,10 +28,12 @@ import org.apache.commons.lang3.StringUtils;
  */
 public class ScalarUnitValidator {
 
-    private static ScalarUnitValidator scalarUnitValidator = new ScalarUnitValidator();
+    private static final ScalarUnitValidator scalarUnitValidator = new ScalarUnitValidator();
 
     /**
      *  Tosca Scalar Unit Types structure.
+     *
+     *  At least positive integers, no single white space, 1 to 3 chars
      */
     private final Pattern pattern = Pattern.compile("\\d+\\s*[a-zA-Z]{1,3}");
 
@@ -71,4 +73,4 @@ public class ScalarUnitValidator {
                 .anyMatch(scalarUnit ->
                     scalarUnit.name().equalsIgnoreCase(strValue) || strValue.endsWith(scalarUnit.name())));
     }
-}
+}
\ No newline at end of file
diff --git a/common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/datatypes/model/ScalarUnitValidatorTest.java b/common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/datatypes/model/ScalarUnitValidatorTest.java
new file mode 100644 (file)
index 0000000..bee5f7a
--- /dev/null
@@ -0,0 +1,60 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2020 AT&T. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.sdc.tosca.datatypes.model;
+
+import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+
+public class ScalarUnitValidatorTest {
+
+    @Test
+    public void shouldGetAnInstance() {
+        assertNotNull(ScalarUnitValidator.getInstance());
+    }
+
+    @Test
+    public void testScalarUnit() {
+        ScalarUnitValidator validator = ScalarUnitValidator.getInstance();
+        assertTrue(validator.isScalarUnit(null));
+        assertTrue(validator.isScalarUnit("1y"));
+        assertTrue(validator.isScalarUnit("2ye"));
+        assertTrue(validator.isScalarUnit("3yes"));
+
+        assertFalse(validator.isScalarUnit("no"));
+        assertFalse(validator.isScalarUnit("1nooo"));
+    }
+
+    @Test
+    public void testValueScalarUnit() {
+        ScalarUnitValidator validator = ScalarUnitValidator.getInstance();
+        assertTrue(validator.isValueScalarUnit("2B", TestEnum.class));
+
+        assertFalse(validator.isValueScalarUnit("1val", TestEnum.class));
+        assertFalse(validator.isValueScalarUnit("null", null));
+        assertFalse(validator.isValueScalarUnit(null, null));
+    }
+}
+
+enum TestEnum {
+    B, KB
+}
\ No newline at end of file