1 package org.mmbase.storage.search.implementation; 2 3 import junit.framework.*; 4 import java.util.*; 5 import org.mmbase.module.core.*; 6 import org.mmbase.module.corebuilders.FieldDefs; 7 import org.mmbase.storage.search.*; 8 9 15 public class BasicFieldValueInConstraintTest extends TestCase { 16 17 private final static String BUILDER_NAME = "images"; 18 private final static String STRING_FIELD_NAME = "title"; 19 private final static String INTEGER_FIELD_NAME = "number"; 20 21 private final static String STRING_TEST_VALUE1 = "kjjdf kjjkl"; 22 private final static String STRING_TEST_VALUE2 = " KLkljklj KJKLJ ERwe "; 23 private final static Integer INTEGER_TEST_VALUE = new Integer (12345); 24 25 26 private BasicFieldValueInConstraint instance = null; 27 28 29 private MMBase mmbase = null; 30 31 32 private BasicStepField stringField = null; 33 private StepField integerField = null; 34 35 36 private MMObjectBuilder builder = null; 37 38 39 private FieldDefs stringFieldDefs = null; 40 private FieldDefs integerFieldDefs = null; 41 42 public BasicFieldValueInConstraintTest(java.lang.String testName) { 43 super(testName); 44 } 45 46 public static void main(java.lang.String [] args) { 47 junit.textui.TestRunner.run(suite()); 48 System.exit(0); 49 } 50 51 54 public void setUp() throws Exception { 55 MMBaseContext.init(); 56 mmbase = MMBase.getMMBase(); 57 builder = mmbase.getBuilder(BUILDER_NAME); 58 stringFieldDefs = builder.getField(STRING_FIELD_NAME); 59 integerFieldDefs = builder.getField(INTEGER_FIELD_NAME); 60 Step step = new BasicStep(builder); 61 stringField = new BasicStepField(step, stringFieldDefs); 62 integerField = new BasicStepField(step, integerFieldDefs); 63 instance = new BasicFieldValueInConstraint(stringField); 64 } 65 66 69 public void tearDown() throws Exception {} 70 71 72 public void testAddValue() { 73 try { 75 instance.addValue(null); 76 fail("Null value, should throw IllegalArgumentException"); 77 } catch (IllegalArgumentException e) {} 78 79 try { 81 instance.addValue(INTEGER_TEST_VALUE); 82 fail("Trying to add integer value to string field, should throw IllegalArgumentException."); 83 } catch (IllegalArgumentException e) {} 84 85 List values = new ArrayList(instance.getValues()); 86 assertTrue(values.size() == 0); 87 instance.addValue(STRING_TEST_VALUE1); 88 values = new ArrayList(instance.getValues()); 89 assertTrue(values.size() == 1); 90 assertTrue(values.indexOf(STRING_TEST_VALUE1) == 0); 91 instance.addValue(STRING_TEST_VALUE2); 92 values = new ArrayList(instance.getValues()); 93 assertTrue(values.size() == 2); 94 assertTrue(values.indexOf(STRING_TEST_VALUE1) == 1); 96 assertTrue(values.indexOf(STRING_TEST_VALUE2) == 0); 97 98 BasicFieldValueInConstraint instance2 = new BasicFieldValueInConstraint(integerField); 100 try { 101 instance2.addValue("skdlw"); 102 fail("Trying to add string value to integer field, should throw IllegalArgumentException."); 103 } catch (IllegalArgumentException e) {} 104 105 values = new ArrayList(instance2.getValues()); 107 assertTrue(values.size() == 0); 108 instance2.addValue(INTEGER_TEST_VALUE); 109 values = new ArrayList(instance2.getValues()); 110 assertTrue(values.size() == 1); 111 assertTrue(values.indexOf(INTEGER_TEST_VALUE) == 0); 112 } 113 114 115 public void testGetValues() { 116 testAddValue(); 118 119 Set values = instance.getValues(); 120 121 try { 123 values.add("ekowkdk kkj"); 124 fail("Attempt to modify list, must throw UnsupportedOperationException"); 125 } catch (UnsupportedOperationException e) {} 126 try { 127 values.clear(); 128 fail("Attempt to modify list, must throw UnsupportedOperationException"); 129 } catch (UnsupportedOperationException e) {} 130 } 131 132 133 public void testGetBasicSupportLevel() { 134 assertTrue(instance.getBasicSupportLevel() == SearchQueryHandler.SUPPORT_OPTIMAL); 136 } 137 138 139 public void testEquals() { 140 } 142 143 144 public void testHashCode() { 145 } 147 148 149 public static Test suite() { 150 TestSuite suite = new TestSuite(BasicFieldValueInConstraintTest.class); 151 152 return suite; 153 } 154 155 } 156 | Popular Tags |