github.com/seeker-insurance/kit@v0.0.13/calendar/calendar_test.go (about) 1 package calendar 2 3 import ( 4 "testing" 5 "time" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestAddWorkHours(t *testing.T) { 11 c := SetupUSCalendar() 12 13 losAngeles, err := time.LoadLocation("America/Los_Angeles") 14 if err != nil { 15 t.Errorf("Error loading location: %s", err.Error()) 16 } 17 18 tm, err := time.ParseInLocation( 19 "Jan 2, 2006 at 3:04pm (MST)", 20 "May 24, 2018 at 11:00am (PDT)", losAngeles) 21 if err != nil { 22 t.Errorf("Error parsing time: %s", err.Error()) 23 } 24 25 // same day 26 tm2 := c.AddWorkHours(tm, 6) 27 assert.Equal(t, 24, tm2.Day()) 28 assert.Equal(t, 17, tm2.Hour()) 29 30 // next day 31 tm2 = c.AddWorkHours(tm, 10) 32 assert.Equal(t, 25, tm2.Day()) 33 assert.Equal(t, 11, tm2.Hour()) 34 35 // with weekend and labor day 36 tm2 = c.AddWorkHours(tm, 20) 37 assert.Equal(t, 29, tm2.Day()) 38 assert.Equal(t, 11, tm2.Hour()) 39 }