### Question:
SelectArg extends BaseArgumentHolder { @Override public void setValue(Object value) { this.hasBeenSet = true; this.value = value; } SelectArg();  SelectArg(String columnName, Object value);  SelectArg(SqlType sqlType, Object value);  SelectArg(SqlType sqlType);  SelectArg(Object value); @Override void setValue(Object value);  }### Answer:
@Test public void testSetValue() throws Exception { SelectArg selectArg = new SelectArg(); Object foo = new Object(); selectArg.setValue(foo); assertSame(foo, selectArg.getSqlArgValue()); }
@Test public void testSetNumber() throws Exception { SelectArg selectArg = new SelectArg(); int val = 10; selectArg.setMetaInfo("val", numberFieldType); selectArg.setValue(val); assertSame(val, selectArg.getSqlArgValue()); }
@Test public void testSetNullValue() throws Exception { SelectArg selectArg = new SelectArg(); selectArg.setValue(null); assertNull(selectArg.getSqlArgValue()); }
@Test public void testForeignValue() { SelectArg selectArg = new SelectArg(); assertTrue(selectArg.toString().contains("[unset]")); Foo foo = new Foo(); selectArg.setValue(foo); selectArg.setMetaInfo("id", foreignFieldType); assertTrue(selectArg + " wrong value", selectArg.toString().contains(Integer.toString(foo.id))); }
@Test public void testToString() { SelectArg selectArg = new SelectArg(); assertTrue(selectArg.toString().contains("[unset]")); selectArg.setValue(null); assertTrue(selectArg.toString().contains("[null]")); String value = "fwefefewf"; selectArg.setValue(value); assertTrue(selectArg.toString().contains(value)); }