diff options
2 files changed, 64 insertions, 2 deletions
diff --git a/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/datatypes/model/ScalarUnitValidator.java b/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/datatypes/model/ScalarUnitValidator.java index d7e538e0a7..5e2e2e5ee7 100644 --- a/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/datatypes/model/ScalarUnitValidator.java +++ b/common/onap-tosca-datatype/src/main/java/org/onap/sdc/tosca/datatypes/model/ScalarUnitValidator.java @@ -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 index 0000000000..bee5f7ae2f --- /dev/null +++ b/common/onap-tosca-datatype/src/test/java/org/onap/sdc/tosca/datatypes/model/ScalarUnitValidatorTest.java @@ -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 |