package org.voovan.test.tools;
import junit.framework.TestCase;
import org.voovan.tools.TDateTime;
import org.voovan.tools.TString;
import java.text.ParseException;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
public class TDateTimeUnit extends TestCase {
public TDateTimeUnit(String name) {
super(name);
}
public void testNow() {
String now = TDateTime.now();
int findCount = TString.searchByRegex(now, "^\\d{4}-[0-1][0-9]-[0-3][0-9]\\s[0-2][0-9]:[0-6][0-9]:[0-6][0-9]$").length;
assert (findCount == 1);
}
public void testNowString() {
String now = TDateTime.now("yyyyMMddHHmmss");
int findCount = TString.searchByRegex(now, "^\\d{4}[0-1][0-9][0-3][0-9][0-2][0-9][0-6][0-9][0-6][0-9]$").length;
assert (findCount == 1);
}
public void testFormatDateString() {
String now = TDateTime.format(new Date(), "yyyyMMddHHmmss");
int findCount = TString.searchByRegex(now, "^\\d{4}[0-1][0-9][0-3][0-9][0-2][0-9][0-6][0-9][0-6][0-9]$").length;
assert (findCount == 1);
}
public void testFormatDateStringStringLocale() {
String now = TDateTime.format(new Date(), "yyyyMMddHHmmss", TimeZone.getDefault().getID(), Locale.getDefault());
int findCount = TString.searchByRegex(now, "^\\d{4}[0-1][0-9][0-3][0-9][0-2][0-9][0-6][0-9][0-6][0-9]$").length;
assert (findCount == 1);
}
public void testFormatToGMT() {
String now = TDateTime.formatToGMT(new Date());
int findCount = TString.searchByRegex(now, "GMT$").length;
assert (findCount == 1);
}
public void testParseStringString() throws ParseException {
Date date = new Date();
Date parsedDate = TDateTime.parse(TDateTime.format(date, "yyyy-MM-dd HH:mm:ss"), "yyyy-MM-dd HH:mm:ss");
assert (date.toString().equals(parsedDate.toString()));
}
public void testParseStringStringStringLocale() throws ParseException {
Date date = new Date();
Date parsedDate = TDateTime.parse(TDateTime.format(date, "yyyy-MM-dd HH:mm:ss"),
"yyyy-MM-dd HH:mm:ss", TimeZone.getDefault()
.getID(), Locale.getDefault());
assert (date.toString().equals(parsedDate.toString()));
}
public void testParseToGMT() throws ParseException {
Date date = new Date();
Date parsedDate = TDateTime.parseToGMT(TDateTime.formatToGMT(date));
assert (date.toString().equals(parsedDate.toString()));
}
public void testAdd() {
Date date = new Date();
Date afterDate = TDateTime.add(date, 3600*1000);
assertTrue(afterDate.after(date));
}
}