/* * Copyright 2001-2008 Geert Bevin <gbevin[remove] at uwyn dot com> * Licensed under the Apache License, Version 2.0 (the "License") * $Id: TestValidationRuleLimitedDate.java 3918 2008-04-14 17:35:35Z gbevin $ */ package com.uwyn.rife.site; import java.util.Date; import junit.framework.TestCase; public class TestValidationRuleLimitedDate extends TestCase { public TestValidationRuleLimitedDate(String name) { super(name); } public void testInstantiation() { Bean bean = new Bean(new Date(2003, 12, 11)); ValidationRuleLimitedDate rule = new ValidationRuleLimitedDate("property", new Date(2003, 3, 1), new Date(2004, 3, 1)).setBean(bean); assertNotNull(rule); } public void testValid() { Bean bean = new Bean(new Date(2003, 12, 11)); ValidationRuleLimitedDate rule = new ValidationRuleLimitedDate("property", new Date(2003, 3, 1), new Date(2004, 3, 1)).setBean(bean); assertTrue(rule.validate()); } public void testValidArray() { Bean bean = new Bean(new Date[] {new Date(2003, 12, 11), new Date(2005, 3, 7)}); ValidationRuleLimitedDate rule = new ValidationRuleLimitedDate("arrayProperty", new Date(2003, 3, 1), new Date(2006, 3, 1)).setBean(bean); assertTrue(rule.validate()); } public void testInvalid() { Bean bean = new Bean(new Date(2003, 12, 11)); ValidationRuleLimitedDate rule = new ValidationRuleLimitedDate("property", new Date(2004, 3, 1), new Date(2004, 4, 1)).setBean(bean); assertFalse(rule.validate()); } public void testInvalidArray() { Bean bean = new Bean(new Date[] {new Date(2003, 12, 11), new Date(2006, 3, 7)}); ValidationRuleLimitedDate rule = new ValidationRuleLimitedDate("arrayProperty", new Date(2003, 3, 1), new Date(2006, 3, 1)).setBean(bean); assertFalse(rule.validate()); } public void testUnknownProperty() { Bean bean = new Bean(new Date(2003, 12, 11)); ValidationRuleLimitedDate rule = new ValidationRuleLimitedDate("unknown_property", new Date(2003, 3, 1), new Date(2004, 3, 1)).setBean(bean); assertTrue(rule.validate()); } public void testGetError() { Bean bean = new Bean(new Date(2003, 12, 11)); ValidationRuleLimitedDate rule = new ValidationRuleLimitedDate("property", new Date(2004, 3, 1), new Date(2004, 4, 1)).setBean(bean); ValidationError error = rule.getError(); assertEquals(ValidationError.IDENTIFIER_INVALID, error.getIdentifier()); assertEquals("property", error.getSubject()); assertEquals(rule.getSubject(), error.getSubject()); } public class Bean { private Date mProperty = null; private Date[] mArrayProperty = null; public Bean(Date property) { mProperty = property; } public Bean(Date[] arrayProperty) { mArrayProperty = arrayProperty; } public void setProperty(Date property) { mProperty = property; } public Date getProperty() { return mProperty; } public void setArrayProperty(Date[] arrayProperty) { mArrayProperty = arrayProperty; } public Date[] getArrayProperty() { return mArrayProperty; } } }