Skip to content

Commit

Permalink
Added support for weekends
Browse files Browse the repository at this point in the history
  • Loading branch information
Olve Sæther Hansen committed Feb 18, 2017
1 parent fd4bfcf commit f3b4da4
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
6 changes: 6 additions & 0 deletions paydaybeer.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,15 @@ func isBeerOClock(beertime time.Time) bool {
return isBeerday(beertime) && beertime.Hour() >= 16
}

func isWeekend(weekend time.Time) bool {
return weekend.Weekday() == 6 || weekend.Weekday() == 7
}

func checkPaydayBeerSituation(possibleBeerOClock time.Time) string {

switch {
case isWeekend(possibleBeerOClock) :
return "Have a nice weekend!"
case isPaydayWeek(possibleBeerOClock) && isBeerday(possibleBeerOClock) :
return "Yesss! 🍺 it is time for Pay 🍹 Day 🍸 Beer! 🍻"

Expand Down
11 changes: 8 additions & 3 deletions paydaybeer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
)

var someSaturydayAfterPayday = now.MustParse("2017-02-25 15:04")
var someNormalWorkday = now.MustParse("2017-02-15 15:04")
var someBoringSaturyday = now.MustParse("2017-02-18 15:04")
var somePaydayWeek = now.MustParse("2017-02-21 15:04")
var somePaydayFridayAt15 = now.MustParse("2017-02-24 15:04")
Expand All @@ -15,17 +16,21 @@ var someFridayAt15 = now.MustParse("2017-02-17 15:04")
var someFridayAt16 = now.MustParse("2017-02-17 16:04")

func TestCheckBeerSituation(t *testing.T) {
assert.Contains(t, checkPaydayBeerSituation(someBoringSaturyday), "to work")
assert.Contains(t, checkPaydayBeerSituation(someSaturydayAfterPayday), "to work")
assert.Contains(t, checkPaydayBeerSituation(someBoringSaturyday), "Have a nice weekend")
assert.Contains(t, checkPaydayBeerSituation(someNormalWorkday), "to work")
assert.Contains(t, checkPaydayBeerSituation(someSaturydayAfterPayday), "Have a nice weekend")
assert.Contains(t, checkPaydayBeerSituation(someFridayAt15), "Getting thirsty")
assert.Contains(t, checkPaydayBeerSituation(someFridayAt16), "Weekend here I come")
assert.Contains(t, checkPaydayBeerSituation(somePaydayFridayAt15), "Yesss!")
assert.Contains(t, checkPaydayBeerSituation(somePaydayFridayAt16), "Yesss!")
}

func TestWeekend(t *testing.T) {
assert.True(t, isWeekend(someSaturydayAfterPayday), "%s", someSaturydayAfterPayday)
assert.False(t, isWeekend(someNormalWorkday), "%s", someSaturydayAfterPayday)
}
func TestSaturdayAfterPayday(t *testing.T) {
assert.False(t, isPaydayWeek(someSaturydayAfterPayday), "%s", someSaturydayAfterPayday)

}

func TestSomeBoringSaturday(t *testing.T) {
Expand Down

0 comments on commit f3b4da4

Please sign in to comment.