001 package org.hackystat.dailyprojectdata.resource.devtime; 002 003 import static org.junit.Assert.assertEquals; 004 005 import java.math.BigInteger; 006 007 import javax.xml.datatype.XMLGregorianCalendar; 008 import org.hackystat.utilities.tstamp.Tstamp; 009 import org.junit.Test; 010 011 /** 012 * Tests the DevTimeCounter. 013 * @author Philip Johnson 014 */ 015 public class TestDevTimeCounter { 016 017 /** 018 * Test the DevTimeCounter abstraction. 019 * @throws Exception If problems occur. 020 */ 021 @Test public void testDevTimeCounter() throws Exception { 022 XMLGregorianCalendar tstamp1 = Tstamp.makeTimestamp("2007-08-01T00:00:00"); 023 XMLGregorianCalendar tstamp2 = Tstamp.makeTimestamp("2007-08-01T00:04:59"); 024 XMLGregorianCalendar tstamp3 = Tstamp.makeTimestamp("2007-08-01T00:05:00"); 025 XMLGregorianCalendar tstamp4 = Tstamp.makeTimestamp("2007-08-01T00:05:01"); 026 XMLGregorianCalendar tstamp5 = Tstamp.makeTimestamp("2007-08-01T00:10:00"); 027 XMLGregorianCalendar tstamp6 = Tstamp.makeTimestamp("2007-08-01T23:59:59"); 028 029 DevTimeCounter counter = new DevTimeCounter(); 030 assertEquals("Test empty", BigInteger.valueOf(0), counter.getDevTime()); 031 counter.addDevEvent(tstamp1); 032 assertEquals("Test first", BigInteger.valueOf(5), counter.getDevTime()); 033 counter.addDevEvent(tstamp2); 034 assertEquals("Test second", BigInteger.valueOf(5), counter.getDevTime()); 035 counter.addDevEvent(tstamp3); 036 assertEquals("Test third", BigInteger.valueOf(10), counter.getDevTime()); 037 counter.addDevEvent(tstamp4); 038 assertEquals("Test fourth", BigInteger.valueOf(10), counter.getDevTime()); 039 counter.addDevEvent(tstamp5); 040 assertEquals("Test fifth", BigInteger.valueOf(15), counter.getDevTime()); 041 counter.addDevEvent(tstamp6); 042 assertEquals("Test sixth", BigInteger.valueOf(20), counter.getDevTime()); 043 } 044 }