package com.helper
{
import com.helper.DateTimeValidator;
import flexunit.framework.Assert;
import mx.events.ValidationResultEvent;
public class DateTimeValidatorTests
{
private var fixture:DateTimeValidator
[Before]
public function runBeforeEveryTest():void
{
fixture = new DateTimeValidator();
fixture.inputFormat = ”YYYY/MM/DD”;
fixture.allowedFormatChars = “/-.”;
}
[After]
public function runAfterEveryTest():void
{
fixture = null;
}
[Test]
public function formatDateTimeTests():void
{
fixture.inputFormat = “YYYY/MM/DD”;
Assert.assertEquals(“2010/12/31 00:00:00″, ValidationResultEvent.VALID, fixture.validate(“2010/12/31 00:00:00″).type);
Assert.assertEquals(“31/12/2010 00:00:00″, ValidationResultEvent.INVALID, fixture.validate(“31/12/2010 00:00:00″).type);
Assert.assertEquals(“12/31/2010 00:00:00″, ValidationResultEvent.INVALID, fixture.validate(“12/31/2010 00:00:00″).type);
fixture.inputFormat = “DD/MM/YYYY”;
Assert.assertEquals(“2010/12/31 00:00:00″, ValidationResultEvent.INVALID, fixture.validate(“2010/12/31 00:00:00″).type);
Assert.assertEquals(“31/12/2010 00:00:00″, ValidationResultEvent.VALID, fixture.validate(“31/12/2010 00:00:00″).type);
Assert.assertEquals(“12/31/2010 00:00:00″, ValidationResultEvent.INVALID, fixture.validate(“12/31/2010 00:00:00″).type);
fixture.inputFormat = “MM/DD/YYYY”;
Assert.assertEquals(“2010/12/31 00:00:00″, ValidationResultEvent.INVALID, fixture.validate(“2010/12/31 00:00:00″).type);
Assert.assertEquals(“31/12/2010 00:00:00″, ValidationResultEvent.INVALID, fixture.validate(“31/12/2010 00:00:00″).type);
Assert.assertEquals(“12/31/2010 00:00:00″, ValidationResultEvent.VALID, fixture.validate(“12/31/2010 00:00:00″).type);
}
[Test]
public function validDateTimeTests():void
{
Assert.assertEquals(“2010/12/31″, ValidationResultEvent.VALID, fixture.validate(“2010/12/31″).type);
Assert.assertEquals(“2010-12-31″, ValidationResultEvent.VALID, fixture.validate(“2010-12-31″).type);
Assert.assertEquals(“2010.12.31″, ValidationResultEvent.VALID, fixture.validate(“2010.12.31″).type);
Assert.assertEquals(“2010/12/31 00:00:00″, ValidationResultEvent.VALID, fixture.validate(“2010/12/31 00:00:00″).type);
Assert.assertEquals(“2010/12/31 23:59:59″, ValidationResultEvent.VALID, fixture.validate(“2010/12/31 23:59:59″).type);
Assert.assertEquals(“2010/12/31 01:09:09″, ValidationResultEvent.VALID, fixture.validate(“2010/12/31 01:09:09″).type);
Assert.assertEquals(“2010/12/31 2:3:4″, ValidationResultEvent.VALID, fixture.validate(“2010/12/31 2:3:4″).type);
}
[Test]
public function invalidDateTimeTests():void
{
Assert.assertEquals(“99/12/31″, ValidationResultEvent.INVALID, fixture.validate(“99/12/31″).type);
Assert.assertEquals(“12/31″, ValidationResultEvent.INVALID, fixture.validate(“12/31″).type);
Assert.assertEquals(“31″, ValidationResultEvent.INVALID, fixture.validate(“31″).type);
Assert.assertEquals(“2010/22/31″, ValidationResultEvent.INVALID, fixture.validate(“2010/22/31″).type);
Assert.assertEquals(“2010/12/55″, ValidationResultEvent.INVALID, fixture.validate(“2010/12/55″).type);
Assert.assertEquals(“-2010/12/31″, ValidationResultEvent.INVALID, fixture.validate(“-2010/12/31″).type);
Assert.assertEquals(“2010/-12/31″, ValidationResultEvent.INVALID, fixture.validate(“2010/-12/31″).type);
Assert.assertEquals(“2010/12/-31″, ValidationResultEvent.INVALID, fixture.validate(“2010/12/-31″).type);
Assert.assertEquals(“2010/12/31 -1:00:00″, ValidationResultEvent.INVALID, fixture.validate(“2010/12/31 -1:00:00″).type);
Assert.assertEquals(“2010/12/31 00:-1:00″, ValidationResultEvent.INVALID, fixture.validate(“2010/12/31 00:-1:00″).type);
Assert.assertEquals(“2010/12/31 00:00:-1″, ValidationResultEvent.INVALID, fixture.validate(“2010/12/31 00:-1:00″).type);
Assert.assertEquals(“2010/12/31 00:00″, ValidationResultEvent.INVALID, fixture.validate(“2010/12/31 00:00″).type);
Assert.assertEquals(“2010/12/31 00″, ValidationResultEvent.INVALID, fixture.validate(“2010/12/31 00″).type);
Assert.assertEquals(“2010/12/31 25:00:00″, ValidationResultEvent.INVALID, fixture.validate(“2010/12/31 25:00:00″).type);
Assert.assertEquals(“2010/12/31 00:60:00″, ValidationResultEvent.INVALID, fixture.validate(“2010/12/31 00:60:00″).type);
Assert.assertEquals(“2010/12/31 00:00:60″, ValidationResultEvent.INVALID, fixture.validate(“2010/12/31 00:00:60″).type);
Assert.assertEquals(“2010/12/31 25:60:60″, ValidationResultEvent.INVALID, fixture.validate(“2010/12/31 25:60:60″).type);
Assert.assertEquals(“2010/12/31 00:00 AM”, ValidationResultEvent.INVALID, fixture.validate(“2010/12/31 00:00 AM”).type);
Assert.assertEquals(“2010/12/31 00:00 PM”, ValidationResultEvent.INVALID, fixture.validate(“2010/12/31 00:00 PM”).type);
Assert.assertEquals(“2010/12/31 3654567″, ValidationResultEvent.INVALID, fixture.validate(“2010/12/31 3654567″).type);
Assert.assertEquals(3654567, ValidationResultEvent.INVALID, fixture.validate(3654567).type);
}
}
}