From: <fc...@us...> - 2007-02-05 08:27:28
|
Revision: 195 http://svn.sourceforge.net/openutils/?rev=195&view=rev Author: fcarone Date: 2007-02-05 00:27:20 -0800 (Mon, 05 Feb 2007) Log Message: ----------- DateAssert added to testng.utils Added Paths: ----------- trunk/openutils-testing/src/main/java/it/openutils/testing/testng/utils/ trunk/openutils-testing/src/main/java/it/openutils/testing/testng/utils/DateAssert.java Added: trunk/openutils-testing/src/main/java/it/openutils/testing/testng/utils/DateAssert.java =================================================================== --- trunk/openutils-testing/src/main/java/it/openutils/testing/testng/utils/DateAssert.java (rev 0) +++ trunk/openutils-testing/src/main/java/it/openutils/testing/testng/utils/DateAssert.java 2007-02-05 08:27:20 UTC (rev 195) @@ -0,0 +1,103 @@ +/* + * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it + */ +package it.openutils.testing.testng.utils; + +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; + +import org.testng.Assert; + + +/** + * Utility methods for checking dates in unit tests. + * @author fgiust + * @version $Id$ + */ +public final class DateAssert +{ + + private static DateFormat df = new SimpleDateFormat("yyyyMMdd"); + + private static DateFormat dtf = new SimpleDateFormat("yyyyMMdd HH:mm"); + + /** + * Don't instantiate. + */ + private DateAssert() + { + // unused + } + + /** + * Asserts that two dates are equal. + * @param expectedDateAsString date formatted as "YYYYMMDD" + * @param date actual date + * @throws IllegalArgumentException if <code>expectedDateAsString</code> is not a valid date format + */ + public static void dateEqual(String expectedDateAsString, Calendar date) throws IllegalArgumentException + { + Date expected; + + try + { + expected = df.parse(expectedDateAsString); + } + catch (ParseException e) + { + throw new IllegalArgumentException("Unparseable date String: [" + expectedDateAsString + "]"); + } + + if (date == null) + { + throw new AssertionError("Date is null"); + } + + Assert.assertEquals(date.getTime(), expected); + } + + /** + * Asserts that two dates are equal. + * @param expectedDateAsString date formatted as "yyyyMMdd HH:mm" + * @param date actual date + * @throws IllegalArgumentException if <code>expectedDateAsString</code> is not a valid date format + */ + public static void dateTimeEqual(String expectedDateAsString, Date date) throws IllegalArgumentException + { + Date expected; + + try + { + expected = dtf.parse(expectedDateAsString); + } + catch (ParseException e) + { + throw new IllegalArgumentException("Unparseable date String: [" + expectedDateAsString + "]"); + } + + if (date == null) + { + throw new AssertionError("Date is null"); + } + + if (date.getTime() != expected.getTime()) + { + throw new AssertionError("Expected <" + expected + ">, actual <" + date + ">"); + } + } + + /** + * Asserts that two dates are equal. + * @param expectedDateAsString date formatted as "yyyyMMdd HH:mm" + * @param date actual date + * @throws IllegalArgumentException if <code>expectedDateAsString</code> is not a valid date format + */ + public static void dateTimeEqual(String expectedDateAsString, Calendar date) throws IllegalArgumentException + { + dateTimeEqual(expectedDateAsString, date.getTime()); + } + +} Property changes on: trunk/openutils-testing/src/main/java/it/openutils/testing/testng/utils/DateAssert.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |