コード例 #1
0
ファイル: attempt_test.go プロジェクト: hailocab/goamz
func (S) TestAttemptNextHasNext(c *gocheck.C) {
	a := aws.AttemptStrategy{}.Start()
	c.Assert(a.Next(), gocheck.Equals, true)
	c.Assert(a.Next(), gocheck.Equals, false)

	a = aws.AttemptStrategy{}.Start()
	c.Assert(a.Next(), gocheck.Equals, true)
	c.Assert(a.HasNext(), gocheck.Equals, false)
	c.Assert(a.Next(), gocheck.Equals, false)

	a = aws.AttemptStrategy{Total: 2e8}.Start()
	c.Assert(a.Next(), gocheck.Equals, true)
	c.Assert(a.HasNext(), gocheck.Equals, true)
	time.Sleep(2e8)
	c.Assert(a.HasNext(), gocheck.Equals, true)
	c.Assert(a.Next(), gocheck.Equals, true)
	c.Assert(a.Next(), gocheck.Equals, false)

	a = aws.AttemptStrategy{Total: 1e8, Min: 2}.Start()
	time.Sleep(1e8)
	c.Assert(a.Next(), gocheck.Equals, true)
	c.Assert(a.HasNext(), gocheck.Equals, true)
	c.Assert(a.Next(), gocheck.Equals, true)
	c.Assert(a.HasNext(), gocheck.Equals, false)
	c.Assert(a.Next(), gocheck.Equals, false)
}