go-pattern-examples/behavior/10_state/state_test.go

28 lines
596 B
Go
Raw Normal View History

2020-04-21 17:50:21 +03:00
package state
2020-05-05 17:43:54 +03:00
import "testing"
func TestState(t *testing.T) {
expect := "vibrating humming ... vibrating humming...vibrating humming..." +
"vibrating humming ... vibrating humming...vibrating humming..." +
"sun rise ,get up ,get up get up..."
2020-05-06 06:13:33 +03:00
//创建一个手机闹铃
mobile := NewAlert()
2020-05-05 17:43:54 +03:00
2020-05-06 06:13:33 +03:00
ringsSounds := mobile.Alert()
2020-05-05 17:43:54 +03:00
2020-05-06 06:13:33 +03:00
//叠加振铃声音,振铃响两遍
ringsSounds += mobile.Alert()
2020-05-05 17:43:54 +03:00
2020-05-06 06:13:33 +03:00
//设置振铃的铃声
mobile.SetState(&AlertSong{})
2020-05-05 17:43:54 +03:00
2020-05-06 06:13:33 +03:00
ringsSounds += mobile.Alert()
2020-04-21 17:50:21 +03:00
2020-05-06 06:13:33 +03:00
if ringsSounds != expect {
t.Errorf("Expect result to equal %s, but %s.\n", expect, result)
2020-04-21 17:50:21 +03:00
}
}