package org.test4j.spec.txt;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import org.test4j.fortest.beans.User;
import org.test4j.junit.JSpec;
import org.test4j.spec.annotations.Named;
import org.test4j.spec.annotations.StoryFile;
import org.test4j.spec.annotations.StorySource;
import org.test4j.spec.annotations.StoryType;
import org.test4j.spec.annotations.When;
@SuppressWarnings({ "serial", "rawtypes" })
@StoryFile(type = StoryType.TXT, source = StorySource.ClassPath)
public class ParameterConvertDemo extends JSpec {
@When
public void convertToIntArray(final @Named("数组") Integer[] intArray// <br>
) throws Exception {
want.array(intArray).sizeEq(3).reflectionEq(new int[] { 1, 2, 3 });
}
@When
public void convertToBoolArray(final @Named("数组") Boolean[][] arrBoolean// <br>
) throws Exception {
want.array(arrBoolean).reflectionEq(new Boolean[][] { { true, false }, { true, true } });
}
@When
public void convertToList(final @Named("列表") ArrayList<Boolean> list// <br>
) throws Exception {
want.list(list).reflectionEq(new boolean[] { true, false });
}
@When
public void convertToListGeneric(final @Named("列表") List<User> users// <br>
) throws Exception {
want.list(users).sizeEq(2).reflectionEqMap(2, new DataMap() {
{
this.put("first", "wu", "he");
this.put("last", "davey", "jobs");
}
});
}
@When
public void convertToListHashmap(final @Named("列表") List list// <br>
) throws Exception {
want.list(list).sizeEq(2).reflectionEqMap(2, new DataMap() {
{
this.put("first", "wu", "he");
this.put("last", "davey", "jobs");
}
});
}
@When
public void convetToDto(final @Named("用户") User user// <br>
) throws Exception {
want.object(user).reflectionEqMap(new DataMap() {
{
this.put("first", "wu");
this.put("last", "davey");
}
});
}
@When
public void convertToPrimitiveType(final @Named("布尔值") Boolean bool, // <br>
final @Named("整型") Integer intValue, // <br>
final @Named("长整型") Long longValue, // <br>
final @Named("短整型") Short shortValue, // <br>
final @Named("浮点数") Float floatValue, // <br>
final @Named("双精度") Double doubleValue, // <br>
final @Named("字符串") String str// <br>
) throws Exception {
want.bool(bool).is(true);
want.number(intValue).isEqualTo(123);
want.number(longValue).isEqualTo(234);
want.number(shortValue).isEqualTo(23);
want.number(floatValue).isEqualTo(23.12);
want.number(doubleValue).isEqualTo(234.23);
want.string(str).isEqualTo("I am a String");
}
@When
public void convertToBigDecimalAndBigInteger(final @Named("大整数") BigInteger bigInteger, // <br>
final @Named("大数字") BigDecimal bigDecimal// <br>
) throws Exception {
want.number(bigInteger).isEqualTo(new BigInteger("123456789123456789"));
want.number(bigDecimal).isEqualTo(new BigDecimal("123456789123456789.12345"));
}
@When
public void convertToMap(final @Named("DataMap") DataMap dataMap, // <br>
final @Named("HashMap") HashMap hashMap// <br>
) throws Exception {
want.map(dataMap).reflectionEqMap(new DataMap() {
{
this.put("first", "wu");
this.put("last", "davey");
}
});
want.map(hashMap).reflectionEqMap(new DataMap() {
{
this.put("first", "wu");
this.put("last", "davey");
}
});
}
@When
public void convertDate(final @Named("日期") Date date, // <br>
final @Named("时间") Date time, // <br>
final @Named("日期加时间") Date dateTime, // <br>
final @Named("java_sql_Date") java.sql.Date java_sql_Date, // <br>
final @Named("java_sql_Timestamp") java.sql.Timestamp java_sql_Timestamp// <br>
) throws Exception {
want.date(date).eqByFormat("2010-12-20");
want.date(time).eqByFormat("12:30:45");
want.date(dateTime).eqByFormat("2010-04-14 14:23:57");
want.date(java_sql_Date).eqByFormat("2010-04-14");
want.date(java_sql_Timestamp).eqByFormat("2010-04-14 14:23:57");
}
}