예제 #1
0
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)
예제 #2
0
def test_Swarm_boidPositions():
    xs = [0.0,1.0,2.0]
    ys = [1.0,2.0,3.0]
    vxs = [4.0,5.0,6.0]
    vys = [5.0,6.0,7.0]

    swarm = Swarm()
    swarm.hatch_test(xs,ys,vxs,vys,len(xs),behaviour)

    assert_equal(swarm.boidPositions()[0],xs)
    assert_equal(swarm.boidPositions()[1],ys)