RegressionTests__TimeAndDateTest.st
author Claus Gittinger <cg@exept.de>
Mon, 05 Nov 2012 14:31:53 +0100
changeset 737 06d8d2821c46
parent 736 b51ba7f6c03f
child 745 fde865b5dece
permissions -rw-r--r--
changed: #test_03_calenderWeek

"{ Package: 'exept:regression' }"

"{ NameSpace: RegressionTests }"

TestCase subclass:#TimeAndDateTest
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'tests-Regression'
!


!TimeAndDateTest methodsFor:'Testing'!

test_01_ReadingTimes

     self assert:(Time readFrom:'0:00'    ) = (Time hour:0 minute:0 second:0).
     self assert:(Time readFrom:'2:00'    ) = (Time hour:2 minute:0 second:0).     
     self assert:(Time readFrom:'12:00'   ) = (Time hour:12 minute:0 second:0).    
     self assert:(Time readFrom:'14:00'   ) = (Time hour:14 minute:0 second:0).    
     self assert:(Time readFrom:'23:00'   ) = (Time hour:23 minute:0 second:0).    
     self assert:(Time readFrom:'24:00'   ) = (Time hour:0 minute:0 second:0).    
     self assert:(Time readFrom:'2:30 am' ) = (Time hour:2 minute:30 second:0).    
     self assert:(Time readFrom:'2:30 pm' ) = (Time hour:14 minute:30 second:0).    
     self assert:(Time readFrom:'14'      ) = (Time hour:14 minute:0 second:0).
     self assert:(Time readFrom:'2 am'    ) = (Time hour:2 minute:0 second:0). 
     self assert:(Time readFrom:'2 pm'    ) = (Time hour:14 minute:0 second:0). 
     self assert:(Time readFrom:'12:05 pm') = (Time hour:12 minute:5 second:0).    
     self assert:(Time readFrom:'12:06 am') = (Time hour:0 minute:6 second:0).    

     self assert:(Time readFrom:'18:22:00') = (Time hour:18 minute:22 second:0).    
     self assert:(Time readFrom:'14:00:11') = (Time hour:14 minute:0 second:11).    
     self assert:(Time readFrom:'7:00:11' ) = (Time hour:7 minute:0 second:11).    
     self assert:(Time readFrom:'24:00:00') = (Time hour:0 minute:0 second:0).     
     self assert:(Time readFrom:'0:00:00' ) = (Time hour:0 minute:0 second:0).    
     self assert:(Time readFrom:'12:00:00') = (Time hour:12 minute:0 second:0).     
     self assert:(Time readFrom:'0:00:00' ) = (Time hour:0 minute:0 second:0).    
     self assert:(Time readFrom:'6:22:00 pm' ) = (Time hour:18 minute:22 second:0).  
     self assert:(Time readFrom:'2:00:11 pm' ) = (Time hour:14 minute:0 second:11). 
     self assert:(Time readFrom:'7:00:11 am' ) = (Time hour:7 minute:0 second:11). 
     self assert:(Time readFrom:'12:00:00 am') = (Time hour:0 minute:0 second:0).  
     self assert:(Time readFrom:'0:00:00 am' ) = (Time hour:0 minute:0 second:0). 
     self should:[ Time readFrom:'24:00:00 am' ] raise:TimeConversionError.
     self assert:(Time readFrom:'12:00:00 pm') = (Time hour:12 minute:0 second:0).  
     self assert:(Time readFrom:'0:00:00 pm' onError:'invalid') = 'invalid'.
     self should:[ Time readFrom:'24:00:00 pm' ] raise:TimeConversionError.  

    "
     self new test_01_Reading
    "
!

test_02_ReadingDates

     self assert:(Date 
                    readFrom:'2-may-2010'
                    printFormat:'%d-%shortMonthName-%y' 
                    language:'en' 
                    onError:[self error]
                  ) = (Date newDay:2 month:5 year:2010).

    {
        {   '3-jan-2012'   .   (Date newDay:3 month:1 year:2012)    } .
        {   '15-feb-2012'   .   (Date newDay:15 month:2 year:2012)  } .
        {   '06-mar-2011'   .   (Date newDay:6 month:3 year:2011)   } .
        {   '19-apr-2013'   .   (Date newDay:19 month:4 year:2013)  } .
        {   '21-may-2015'   .   (Date newDay:21 month:5 year:2015)  } .
        {   '21-jun-2015'   .   (Date newDay:21 month:6 year:2015)  } .
        {   '21-jul-2015'   .   (Date newDay:21 month:7 year:2015)  } .
        {   '21-aug-2015'   .   (Date newDay:21 month:8 year:2015)  } .
        {   '21-sep-2015'   .   (Date newDay:21 month:9 year:2015)  } .
        {   '21-oct-2015'   .   (Date newDay:21 month:10 year:2015)  } .
        {   '21-nov-2015'   .   (Date newDay:21 month:11 year:2015)  } .
        {   '21-dec-2015'   .   (Date newDay:21 month:12 year:2015)  } .
    } do:[:eachTestPair |
         self assert:(Date 
                        readFrom:(eachTestPair first)
                        printFormat:'%d-%shortMonthName-%y' 
                        language:'en' 
                        onError:[self error]
                      ) = (eachTestPair second).
    ].

     self assert:(Date 
                    readFrom:'2-may-2010'
                    printFormat:'%d-%monthName-%y' 
                    language:'en' 
                    onError:[self error]
                  ) = (Date newDay:2 month:5 year:2010).

     self assert:(Date 
                    readFrom:'2-may-2010'
                    printFormat:'%d-%(shortMonthName)-%y' 
                    language:'en' 
                    onError:[self error]
                  ) = (Date newDay:2 month:5 year:2010).

     self assert:(Date 
                    readFrom:'2-may-2010'
                    printFormat:'%d-%(monthName)-%y' 
                    language:'en' 
                    onError:[self error]
                  ) = (Date newDay:2 month:5 year:2010).

     self assert:(Date 
                    readFrom:'2-5-2010'
                    printFormat:'%d-%m-%y' 
                    onError:[self error]
                  ) = (Date newDay:2 month:5 year:2010).

     self assert:(Date 
                    readFrom:'5/2/2010'
                    printFormat:'%m/%d/%y' 
                    onError:[self error]
                  ) = (Date newDay:2 month:5 year:2010).

     self assert:(Date 
                    readFrom:'2010-5-2'
                    printFormat:'%y-%m-%d' 
                    onError:[self error]
                  ) = (Date newDay:2 month:5 year:2010).

    "
     self new test_02_ReadingDates
    "
!

test_03_calenderWeek
    self assert:(Date newDay:5 month:11 year:2012) weekInYear == 45.
    self assert:(Date newDay:11 month:11 year:2012) weekInYear == 45.

    self assert:(Date newDay:4 month:11 year:2012) weekInYear == 44.
    self assert:(Date newDay:12 month:11 year:2012) weekInYear == 46.

    self assert:(Date newDay:29 month:12 year:2014) weekInYear == 1.    "/ YES!!
    self assert:(Date newDay:30 month:12 year:2014) weekInYear == 1.    "/ YES!!
    self assert:(Date newDay:31 month:12 year:2014) weekInYear == 1.    "/ YES!!
    self assert:(Date newDay:1 month:1 year:2015) weekInYear == 1.
    self assert:(Date newDay:2 month:1 year:2015) weekInYear == 1.
    self assert:(Date newDay:3 month:1 year:2015) weekInYear == 1.
    self assert:(Date newDay:4 month:1 year:2015) weekInYear == 1.

    self assert:(Date newDay:5 month:1 year:2015) weekInYear == 2.

    "
     self new test_03_calenderWeek
    "
! !

!TimeAndDateTest class methodsFor:'documentation'!

version
    ^ '$Header$'
!

version_CVS
    ^ '$Header$'
! !