예제 #1
0
파일: tests.py 프로젝트: Ignas/Dodopult
def test_collision_detection_launch_inside_wall():
    # extracted from a real crash
    dodo = Dodo(FakeGame(FakeMap(ground_level=710, wall_x=720)))
    dodo.x = 721.0
    dodo.y = 495.0
    dodo.dx = 50.0
    dodo.dy = 50.0
    dodo.update(1.0)
    assert_equals(dodo.x, 721.0)
    assert_equals(dodo.y, 495.0)
    assert_false(dodo.is_alive)
    assert_equals(dodo.dx, 0)
    assert_equals(dodo.dy, 0)
예제 #2
0
파일: tests.py 프로젝트: Ignas/Dodopult
def test_collision_detection_4():
    #     +-------
    #     | *
    #     |/
    #     |
    #    /|
    #   * |
    # ----+ ground 
    dodo = Dodo(FakeGame(FakeMap(ground_level=200, wall_x=40)))
    dodo.x = 20.0
    dodo.y = 30.0
    dodo.dx = 40.0
    dodo.dy = 50.0
    dodo.update(1.0)
    assert_equals((dodo.x, dodo.y), (40.0, 55))
    assert_false(dodo.is_alive)
    assert_equals(dodo.dx, 0)
    assert_equals(dodo.dy, 0)
예제 #3
0
파일: tests.py 프로젝트: Ignas/Dodopult
def test_collision_detection_3():
    # air
    #   *
    #    \+-------
    #     |
    #     |\
    #     | *
    # ----+ ground 
    dodo = Dodo(FakeGame(FakeMap(ground_level=100, wall_x=40)))
    dodo.x = 20.0
    dodo.y = 120.0
    dodo.dx = 40.0
    dodo.dy = -50.0
    dodo.update(1.0)
    assert_equals(dodo.x, 40.0)
    assert_equals(dodo.y, 95.0)
    assert_false(dodo.is_alive)
    assert_equals(dodo.dx, 0)
    assert_equals(dodo.dy, 0)
예제 #4
0
파일: tests.py 프로젝트: Ignas/Dodopult
def test_collision_detection_2():
    # air
    #   *
    #    \
    #    +------
    #    | \
    #    |  *
    #    |ground
    dodo = Dodo(FakeGame(FakeMap(ground_level=100, wall_x=22)))
    dodo.x = 20.0
    dodo.y = 120.0
    dodo.dx = 10.0
    dodo.dy = -50.0
    dodo.update(1.0)
    assert_equals(dodo.x, 24.0)
    assert_equals(dodo.y, 100.0)
    assert_true(dodo.is_alive)
    assert_equals(dodo.dx, 0)
    assert_equals(dodo.dy, 0)