1 package gov.nasa.pds.ltdt.testLabel;
2
3 import java.util.Arrays;
4
5 import gov.nasa.pds.tools.dict.ElementDefinition;
6 import gov.nasa.pds.tools.dict.type.InvalidTypeException;
7 import gov.nasa.pds.tools.dict.type.Types;
8 import gov.nasa.pds.tools.dict.type.UnsupportedTypeException;
9 import junit.framework.*;
10
11 public class ElementTestValueGeneratorTest extends TestCase implements Types {
12 ElementDefinition charDef;
13 ElementDefinition charDefwithMin;
14 ElementDefinition charDefwithMax;
15 ElementDefinition date;
16 ElementDefinition time;
17 ElementDefinition alphaNumeric;
18 ElementDefinition identifier;
19 ElementDefinition integer;
20 ElementDefinition real;
21 ElementDefinition contextDependent;
22
23 public ElementTestValueGeneratorTest(String name) {
24 super(name);
25 setUpDefinitions();
26 }
27
28 private void setUpDefinitions() {
29 charDef = new ElementDefinition("CHAR_TEST");
30 charDef.setDataType(CHARACTER);
31 String[] values = {"VALID VALUE 1", "VALID VALUE 2", "VALID VALUE 3"};
32 charDef.setValues(Arrays.asList(values));
33
34 charDefwithMin = new ElementDefinition("CHAR_TEST_HASMIN");
35 charDefwithMin.setDataType(CHARACTER);
36 charDefwithMin.setMinLength(14);
37
38 charDefwithMax = new ElementDefinition("CHAR_TEST_HASMAX");
39 charDefwithMax.setDataType(CHARACTER);
40 charDefwithMax.setMaxLength(3);
41
42 alphaNumeric = new ElementDefinition("ALPHANUM_TEST");
43 alphaNumeric.setDataType(ALPHANUMERIC);
44 alphaNumeric.setMinLength(1);
45 alphaNumeric.setMaxLength(30);
46
47 identifier = new ElementDefinition("IDENTIFIER_TEST");
48 identifier.setDataType(IDENTIFIER);
49 identifier.setMaxLength(255);
50
51 integer = new ElementDefinition("INTEGER_TEST");
52 integer.setDataType(INTEGER);
53 integer.setMinimum(Integer.valueOf("1"));
54 integer.setMaximum(Integer.valueOf("32"));
55
56 real = new ElementDefinition("REAL_TEST");
57 real.setDataType(REAL);
58 real.setMinimum(Integer.valueOf("2415000"));
59
60 contextDependent = new ElementDefinition("CONTEXTDEPENDENT_TEST");
61 contextDependent.setDataType(CONTEXTDEPENDENT);
62 }
63
64 public void testObjectMethods() throws InvalidTypeException, UnsupportedTypeException {
65
66 assertEquals("VALID VALUE 1", ElementTestValueGenerator.getValue(charDef));
67 assertEquals("TEST STRINGABC", ElementTestValueGenerator.getValue(charDefwithMin));
68 assertEquals("ABC", ElementTestValueGenerator.getValue(charDefwithMax));
69 assertEquals("TEST123", ElementTestValueGenerator.getValue(alphaNumeric));
70 assertEquals("TEST_STRING", ElementTestValueGenerator.getValue(identifier));
71 assertEquals(Integer.valueOf("1"), ElementTestValueGenerator.getValue(integer));
72 assertEquals(Double.valueOf("2415000"), ElementTestValueGenerator.getValue(real));
73 assertEquals("\"NULL\"", ElementTestValueGenerator.getValue(contextDependent));
74 }
75
76 }