def test_OO_boids_regression(): regression_data=yaml.load(open(os.path.join(os.path.dirname(__file__),'fixtures','fixture.yml'))) boid_data=regression_data["before"] swarm = Swarm() swarm.hatch_test(boid_data[0],boid_data[1],boid_data[2],boid_data[3],len(boid_data[0]),behaviour) swarm.update() true_after = regression_data["after"] true_x = true_after[0] true_y = true_after[1] true_vx = true_after[2] true_vy = true_after[3] test_x, test_y = swarm.boidPositions() test_vx, test_vy = swarm.boidVelocities() for test_x_val,true_x_val in zip(test_x,true_x): assert_almost_equal(test_x_val,true_x_val,delta=0.01) for test_y_val,true_y_val in zip(test_y,true_y): assert_almost_equal(test_y_val,true_y_val,delta=0.01) for test_vx_val,true_vx_val in zip(test_vx,true_vx): assert_almost_equal(test_vx_val,true_vx_val,delta=0.01) for test_vy_val,true_vy_val in zip(test_vy,true_vy): assert_almost_equal(test_vy_val,true_vy_val,delta=0.01)
def test_Swarm_update(): xs = [0.0] ys = [1.0] vxs = [2.0] vys = [3.0] swarm = Swarm() swarm.hatch_test(xs,ys,vxs,vys,len(xs),behaviour) swarm.update() assert_equal(swarm.members[0].position[0],0.0+2.0) assert_equal(swarm.members[0].position[1],1.0+3.0) assert_equal(swarm.members[0].velocity[0],2.0) assert_equal(swarm.members[0].velocity[1],3.0)