class TestReindeer(object): def setup(self): self.name = "Comet" self.params = Parameters(14, 10, 127) self.reindeer = Reindeer(self.name, *self.params) def test_init(self): assert self.reindeer.name == self.name assert self.reindeer.d_fly == self.params.d_fly assert self.reindeer.t_fly == self.params.t_fly assert self.reindeer.t_rest == self.params.t_rest assert self.reindeer.points == 0 assert self.reindeer.time == 0 assert self.reindeer.position == 0 assert self.reindeer.state == "flying" assert self.reindeer.state_change_time == self.params.t_fly def test_step_once(self): self.reindeer.step() assert self.reindeer.time == 1 assert self.reindeer.position == self.params.d_fly assert self.reindeer.state == "flying" assert self.reindeer.state_change_time == self.params.t_fly def test_step_until_state_change(self): self.reindeer.step(self.params.t_fly) assert self.reindeer.time == self.params.t_fly assert self.reindeer.position == self.params.t_fly * self.params.d_fly assert self.reindeer.state == "resting" assert self.reindeer.state_change_time == (self.params.t_fly + self.params.t_rest) def test_step_until_next_state_change(self): self.reindeer.step(self.params.t_fly + self.params.t_rest) assert self.reindeer.time == self.params.t_fly + self.params.t_rest assert self.reindeer.position == self.params.t_fly * self.params.d_fly assert self.reindeer.state == "flying" assert self.reindeer.state_change_time == (2*self.params.t_fly + self.params.t_rest)
def setup(self): self.name = "Comet" self.params = Parameters(14, 10, 127) self.reindeer = Reindeer(self.name, *self.params)