1 package org.mmbase.storage.search.implementation; 2 3 import junit.framework.*; 4 import org.mmbase.module.core.*; 5 import org.mmbase.module.corebuilders.FieldDefs; 6 import org.mmbase.storage.search.*; 7 8 14 public class BasicFieldValueConstraintTest extends TestCase { 15 16 private final static String BUILDER_NAME = "images"; 17 private final static String FIELD_NAME1 = "title"; 18 private final static String FIELD_NAME2 = "number"; 19 private final static String STRING_VALUE1 = "value1"; 20 private final static String STRING_VALUE2 = "aValue2"; 21 private final static Double DOUBLE_VALUE1 = new Double (12345); 22 private final static Double DOUBLE_VALUE2 = new Double (34589); 23 24 25 private BasicFieldValueConstraint instance1 = null; 26 27 28 private BasicFieldValueConstraint instance2 = null; 29 30 31 private MMBase mmbase = null; 32 33 34 private BasicStepField field1 = null; 35 36 37 private StepField field2 = null; 38 39 40 private MMObjectBuilder builder = null; 41 42 43 private FieldDefs fieldDefs = null; 44 45 public BasicFieldValueConstraintTest(java.lang.String testName) { 46 super(testName); 47 } 48 49 public static void main(java.lang.String [] args) { 50 junit.textui.TestRunner.run(suite()); 51 System.exit(0); 52 } 53 54 57 public void setUp() throws Exception { 58 MMBaseContext.init(); 59 mmbase = MMBase.getMMBase(); 60 builder = mmbase.getBuilder(BUILDER_NAME); 61 Step step = new BasicStep(builder); 62 63 fieldDefs = builder.getField(FIELD_NAME1); 65 field1 = new BasicStepField(step, fieldDefs); 66 instance1 = new BasicFieldValueConstraint(field1, STRING_VALUE1); 67 68 fieldDefs = builder.getField(FIELD_NAME2); 70 field2 = new BasicStepField(step, fieldDefs); 71 instance2 = new BasicFieldValueConstraint(field2, DOUBLE_VALUE1); 72 } 73 74 77 public void tearDown() throws Exception {} 78 79 80 public void testSetValue() { 81 assertTrue(instance1.getValue().equals(STRING_VALUE1)); 82 assertTrue(instance2.getValue().equals(DOUBLE_VALUE1)); 83 84 try { 85 instance1.setValue(null); 87 fail("Null value, should throw IllegalArgumentException."); 88 } catch (IllegalArgumentException e) {} 89 try { 90 instance2.setValue(null); 92 fail("Null value, should throw IllegalArgumentException."); 93 } catch (IllegalArgumentException e) {} 94 95 try { 96 instance1.setValue(DOUBLE_VALUE1); 98 fail("Double value for string type, should throw IllegalArgumentException."); 99 } catch (IllegalArgumentException e) {} 100 try { 101 instance2.setValue(STRING_VALUE1); 103 fail("String value for integer type, should throw IllegalArgumentException."); 104 } catch (IllegalArgumentException e) {} 105 106 assertTrue(!STRING_VALUE1.equals(STRING_VALUE2)); instance1.setValue(STRING_VALUE2); 108 assertTrue(instance1.getValue().equals(STRING_VALUE2)); 109 assertTrue(!DOUBLE_VALUE1.equals(DOUBLE_VALUE2)); 111 instance2.setValue(new Integer (DOUBLE_VALUE2.intValue())); 113 assertTrue( 114 ((Number ) instance2.getValue()).doubleValue() 115 == DOUBLE_VALUE2.doubleValue()); 116 117 BasicFieldValueConstraint result = instance2.setValue(DOUBLE_VALUE2); 119 assertTrue(instance2.getValue().equals(DOUBLE_VALUE2)); 120 assertTrue(result == instance2); 121 } 122 123 124 public void testGetValue() { 125 testSetValue(); 127 } 128 129 130 public void testGetBasicSupportLevel() { 131 assertTrue(instance1.getBasicSupportLevel() == SearchQueryHandler.SUPPORT_OPTIMAL); 133 } 134 135 136 public void testEquals() { 137 } 139 140 141 public void testHashCode() { 142 } 144 145 public static Test suite() { 146 TestSuite suite = new TestSuite(BasicFieldValueConstraintTest.class); 147 148 return suite; 149 } 150 151 } 152 | Popular Tags |