📄 testrundatabo.java
字号:
package net.sf.irunninglog.businessobject;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import net.sf.irunninglog.canonical.Route;
import net.sf.irunninglog.canonical.RunData;
import net.sf.irunninglog.util.ConstantValues;
import net.sf.irunninglog.util.DTO;
public class TestRunDataBO extends HasGeneratedIdBOTestCase {
protected static final String V_DATE_1 = "3/1/05";
protected static final String V_DATE_2 = "03/01/2005";
protected static final String I_DATE_1 = "03/01";
protected static final String I_DATE_2 = "03";
protected static final String I_DATE_3 = "03/01/";
protected static final String V_TIME_1 = "1:15:24.867";
protected static final String V_TIME_2 = "1:15:24";
protected static final String V_TIME_3 = "15:24";
protected static final String V_TIME_4 = "24";
protected static final String I_TIME_1 = "24:00:00";
protected static final String I_TIME_2 = "-4:00:00";
protected static final String I_TIME_3 = "24:00:00.as";
protected static final String I_TIME_4 = "24:00:00,123";
private static final String V_DISTANCE_1 = "0.0";
private static final String V_DISTANCE_2 = "25.30";
private static final String V_DISTANCE_3 = "99.99";
private static final String I_DISTANCE_1 = "-1.0";
private static final String I_DISTANCE_2 = "100.0";
private static final String I_DISTANCE_3 = "1,000.0";
private static final String V_UNITS_1 = "Miles";
private static final String V_UNITS_2 = "Kilometers";
private static final String I_UNITS_1 = "miles";
private static final String V_COMMENTS_1 = "1111111111222222222233333"
+ "1111111111222222222233333"
+ "1111111111222222222233333"
+ "1111111111222222222233333"
+ "1111111111222222222233333"
+ "1111111111222222222233333"
+ "1111111111222222222233333"
+ "1111111111222222222233333"
+ "1111111111222222222233333"
+ "111111111122222222223333333333";
private static final String V_COMMENTS_2 = "abcde";
private static final String I_COMMENTS_1 = V_COMMENTS_1 + "4";
private Map extraValidValues;
public TestRunDataBO(String name) {
super(name);
}
public void setUp() {
super.setUp();
extraValidValues = new HashMap();
}
public void testDefaultValues() {
super.testDefaultValues();
executeDefaultValuesTests(RunData.FIELD_DATE, null);
executeDefaultValuesTests(RunData.FIELD_TIME, null);
executeDefaultValuesTests(RunData.FIELD_DISTANCE, null);
executeDefaultValuesTests(RunData.FIELD_UNITS, null);
executeDefaultValuesTests(RunData.FIELD_PACE, null);
executeDefaultValuesTests(RunData.FIELD_ROUTE, null);
executeDefaultValuesTests(RunData.FIELD_RUN_TYPE, null);
executeDefaultValuesTests(RunData.FIELD_SHOES, null);
executeDefaultValuesTests(RunData.FIELD_COMMENTS, null);
}
public void testFields() {
super.testFields();
executeDateFieldTests(RunData.FIELD_DATE);
executeLongFieldTests(RunData.FIELD_TIME);
executeDecimalFieldTests(RunData.FIELD_DISTANCE);
executeStringFieldTests(RunData.FIELD_UNITS);
executeStringFieldTests(RunData.FIELD_ROUTE);
executeStringFieldTests(RunData.FIELD_RUN_TYPE);
executeStringFieldTests(RunData.FIELD_SHOES);
executeStringFieldTests(RunData.FIELD_COMMENTS);
RunDataBO runData = (RunDataBO) bo;
runData.setTime(null);
runData.setDistance(null);
assertNull(runData.getPace());
runData.setTime(null);
runData.setDistance(new BigDecimal(10));
assertNull(runData.getPace());
runData.setTime(new Long(3600000));
runData.setDistance(null);
assertNull(runData.getPace());
runData.setTime(new Long(3600000));
runData.setDistance(new BigDecimal(10));
assertEquals("06:00", runData.getPace());
runData.setTime(new Long(1234567));
runData.setDistance(new BigDecimal(3.5));
assertEquals("05:52.733", runData.getPace());
runData.setTime(new Long(0));
runData.setDistance(new BigDecimal(10));
assertEquals("00:00", runData.getPace());
runData.setTime(new Long (200000));
runData.setDistance(new BigDecimal(0.00));
assertEquals(null, runData.getPace());
runData.setTime(new Long (0));
runData.setDistance(new BigDecimal(0.00));
assertEquals(null, runData.getPace());
}
public void testGetValues() {
super.testGetValues();
}
public void testGetValuesInternal() {
super.testGetValuesInternal();
}
public void testPrimaryKey() {
super.testPrimaryKey();
}
public void testSetValues() {
super.testSetValues();
executeSetValuesTests(RunData.FIELD_DATE,
new String [] {V_DATE_1, V_DATE_2},
new String [] {null, ConstantValues.STRING_BLANK, I_DATE_1, I_DATE_2, I_DATE_3});
executeSetValuesTests(RunData.FIELD_TIME,
new String [] {null, ConstantValues.STRING_BLANK, V_TIME_1, V_TIME_2, V_TIME_3, V_TIME_4},
new String [] {I_TIME_1, I_TIME_2, I_TIME_3, I_TIME_4});
executeSetValuesTests(RunData.FIELD_ROUTE,
new String [] {null, ConstantValues.STRING_BLANK, V_ID_1, V_ID_2},
new String [] {I_ID_1});
executeSetValuesTests(RunData.FIELD_RUN_TYPE,
new String [] {null, ConstantValues.STRING_BLANK, V_ID_1, V_ID_2},
new String [] {I_ID_1});
executeSetValuesTests(RunData.FIELD_SHOES,
new String [] {null, ConstantValues.STRING_BLANK, V_ID_1, V_ID_2},
new String [] {I_ID_1});
executeSetValuesTests(Route.FIELD_COMMENTS,
new String [] {null, ConstantValues.STRING_BLANK, V_COMMENTS_1, V_COMMENTS_2},
new String [] {I_COMMENTS_1});
}
public void testSetDistanceAndUnitsValues() {
// No units - can't enter distance
executeSetValuesTests(RunData.FIELD_DISTANCE,
new String [] {null, ConstantValues.STRING_BLANK},
new String [] {I_DISTANCE_1, I_DISTANCE_2, I_DISTANCE_3, V_DISTANCE_1, V_DISTANCE_2, V_DISTANCE_3});
// No distance - can't enter units
executeSetValuesTests(RunData.FIELD_UNITS,
new String [] {null, ConstantValues.STRING_BLANK},
new String [] {I_UNITS_1, STRING_FOO, V_UNITS_1, V_UNITS_2});
extraValidValues.put(RunData.FIELD_UNITS, V_UNITS_1);
extraValidValues.put(RunData.FIELD_DISTANCE, V_DISTANCE_1);
// Valid units - test distance normally
executeSetValuesTests(RunData.FIELD_DISTANCE,
new String [] {V_DISTANCE_1, V_DISTANCE_2, V_DISTANCE_3},
new String [] {null, ConstantValues.STRING_BLANK,I_DISTANCE_1, I_DISTANCE_2, I_DISTANCE_3});
// Valid distance - test units normally
executeSetValuesTests(RunData.FIELD_UNITS,
new String [] {V_UNITS_2, V_UNITS_1},
new String [] {null, ConstantValues.STRING_BLANK, I_UNITS_1, STRING_FOO});
}
public void testSetValuesInternal() {
super.testSetValuesInternal();
executeSetValuesInternalTests(RunData.FIELD_DATE,
Date.class,
new String [] {null, ConstantValues.STRING_BLANK, V_DATE_1, V_DATE_2},
new String [] {I_DATE_1, I_DATE_2, I_DATE_3});
executeSetValuesInternalTests(RunData.FIELD_TIME,
Long.class,
new String [] {null, ConstantValues.STRING_BLANK, V_TIME_1, V_TIME_2, V_TIME_3, V_TIME_4},
new String [] {I_TIME_1, I_TIME_2, I_TIME_3, I_TIME_4});
executeSetValuesInternalTests(RunData.FIELD_DISTANCE,
BigDecimal.class,
new String [] {I_DISTANCE_1, I_DISTANCE_2, null, ConstantValues.STRING_BLANK, V_DISTANCE_1, V_DISTANCE_2, V_DISTANCE_3},
new String [] {I_DISTANCE_3});
executeSetValuesInternalTests(RunData.FIELD_UNITS,
String.class,
new String [] {null, ConstantValues.STRING_BLANK, I_UNITS_1, STRING_FOO, V_UNITS_2, V_UNITS_1},
new String [] {});
executeSetValuesInternalTests(RunData.FIELD_ROUTE,
String.class,
new String [] {null, ConstantValues.STRING_BLANK, V_ID_1, V_ID_2, I_ID_1},
new String [] {});
executeSetValuesInternalTests(RunData.FIELD_RUN_TYPE,
String.class,
new String [] {null, ConstantValues.STRING_BLANK, V_ID_1, V_ID_2, I_ID_1},
new String [] {});
executeSetValuesInternalTests(RunData.FIELD_SHOES,
String.class,
new String [] {null, ConstantValues.STRING_BLANK, V_ID_1, V_ID_2, I_ID_1},
new String [] {});
executeSetValuesInternalTests(Route.FIELD_COMMENTS,
String.class,
new String [] {null, ConstantValues.STRING_BLANK, V_COMMENTS_1, V_COMMENTS_2, I_COMMENTS_1},
new String [] {});
}
public void testValidateValues() {
super.testValidateValues();
executeValidateValuesTests(RunData.FIELD_DATE,
new String [] {V_DATE_1, V_DATE_2},
new String [] {null, ConstantValues.STRING_BLANK, I_DATE_1, I_DATE_2, I_DATE_3});
executeValidateValuesTests(RunData.FIELD_TIME,
new String [] {null, ConstantValues.STRING_BLANK, V_TIME_1, V_TIME_2, V_TIME_3, V_TIME_4},
new String [] {I_TIME_1, I_TIME_2, I_TIME_3, I_TIME_4});
executeValidateValuesTests(RunData.FIELD_ROUTE,
new String [] {null, ConstantValues.STRING_BLANK, V_ID_1, V_ID_2},
new String [] {I_ID_1});
executeValidateValuesTests(RunData.FIELD_RUN_TYPE,
new String [] {null, ConstantValues.STRING_BLANK, V_ID_1, V_ID_2},
new String [] {I_ID_1});
executeValidateValuesTests(RunData.FIELD_SHOES,
new String [] {null, ConstantValues.STRING_BLANK, V_ID_1, V_ID_2},
new String [] {I_ID_1});
executeValidateValuesTests(Route.FIELD_COMMENTS,
new String [] {null, ConstantValues.STRING_BLANK, V_COMMENTS_1, V_COMMENTS_2},
new String [] {I_COMMENTS_1});
// No units - can't enter distance
executeValidateValuesTests(RunData.FIELD_DISTANCE,
new String [] {null, ConstantValues.STRING_BLANK},
new String [] {I_DISTANCE_1, I_DISTANCE_2, I_DISTANCE_3, V_DISTANCE_1, V_DISTANCE_2, V_DISTANCE_3});
// No distance - can't enter units
executeValidateValuesTests(RunData.FIELD_UNITS,
new String [] {null, ConstantValues.STRING_BLANK},
new String [] {I_UNITS_1, STRING_FOO, V_UNITS_1, V_UNITS_2});
extraValidValues.put(RunData.FIELD_UNITS, V_UNITS_1);
extraValidValues.put(RunData.FIELD_DISTANCE, V_DISTANCE_1);
// Valid units - test distance normally
executeValidateValuesTests(RunData.FIELD_DISTANCE,
new String [] {V_DISTANCE_1, V_DISTANCE_2, V_DISTANCE_3},
new String [] {null, ConstantValues.STRING_BLANK,I_DISTANCE_1, I_DISTANCE_2, I_DISTANCE_3});
// Valid distance - test units normally
executeValidateValuesTests(RunData.FIELD_UNITS,
new String [] {V_UNITS_2, V_UNITS_1},
new String [] {null, ConstantValues.STRING_BLANK, I_UNITS_1, STRING_FOO});
}
protected String getBOType() {
return RunData.CANONICAL_ID;
}
protected String getDTOCanonicalId() {
return RunData.CANONICAL_ID;
}
protected DTO getValidDTO() {
DTO values = new DTO(RunData.CANONICAL_ID);
values.setValue(RunData.FIELD_RUNNER_ID, V_RUNNER_ID_1);
values.setValue(RunData.FIELD_ID, STRING_FOO);
values.setValue(RunData.FIELD_DATE, V_DATE_1);
for (Iterator i = extraValidValues.keySet().iterator(); i.hasNext();) {
String key = (String) i.next();
values.setValue(key, (String) extraValidValues.get(key));
}
return values;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -