Add a test to check daytime and rover recharge
This commit is contained in:
parent
3ba7652c74
commit
254957cde5
1 changed files with 37 additions and 0 deletions
|
@ -313,3 +313,40 @@ func TestWorld_Charge(t *testing.T) {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
func TestWorld_Daytime(t *testing.T) {
|
||||
world := NewWorld(1)
|
||||
|
||||
a, err := world.SpawnRover()
|
||||
assert.NoError(t, err)
|
||||
|
||||
// Remove rover charge
|
||||
rover := world.Rovers[a]
|
||||
rover.Charge = 0
|
||||
world.Rovers[a] = rover
|
||||
|
||||
// Try and recharge, should work
|
||||
world.RoverRecharge(a)
|
||||
assert.Equal(t, 1, world.Rovers[a].Charge)
|
||||
|
||||
// Loop for half the day
|
||||
for i := 0; i < world.TicksPerDay/2; i++ {
|
||||
assert.True(t, world.Daytime())
|
||||
world.ExecuteCommandQueues()
|
||||
}
|
||||
|
||||
// Remove rover charge again
|
||||
rover = world.Rovers[a]
|
||||
rover.Charge = 0
|
||||
world.Rovers[a] = rover
|
||||
|
||||
// Try and recharge, should fail
|
||||
world.RoverRecharge(a)
|
||||
assert.Equal(t, 0, world.Rovers[a].Charge)
|
||||
|
||||
// Loop for half the day
|
||||
for i := 0; i < world.TicksPerDay/2; i++ {
|
||||
assert.False(t, world.Daytime())
|
||||
world.ExecuteCommandQueues()
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue