| 123456789101112131415161718192021222324252627282930313233343536373839 |
- from collisions import *
- def test_box_into_capsule():
- capsule = CollisionCapsule((1, 0, 0), (-1, 0, 0), .5)
- # colliding just on the capsule's cylinder
- box = CollisionBox((0, 1, 0), .5, .5, .5)
- entry = make_collision(box, capsule)[0]
- assert entry is not None
- # no longer colliding
- box = CollisionBox((0, 1.1, 0), .5, .5, .5)
- entry = make_collision(box, capsule)[0]
- assert entry is None
- # box is inside the capsule's cylinder
- box = CollisionBox((0, .8, 0), .5, .5, .5)
- entry = make_collision(box, capsule)[0]
- assert entry is not None
- # colliding with the first endcap
- box = CollisionBox((2, 0, 0), .5, .5, .5)
- entry = make_collision(box, capsule)[0]
- assert entry is not None
- # almost colliding with first endcap
- box = CollisionBox((2.01, 0, 0), .5, .5, .5)
- entry = make_collision(box, capsule)[0]
- assert entry is None
- # colliding with the second endcap
- box = CollisionBox((-2, 0, 0), .5, .5, .5)
- entry = make_collision(box, capsule)[0]
- assert entry is not None
- # almost colliding with second endcap
- box = CollisionBox((-2.01, 0, 0), .5, .5, .5)
- entry = make_collision(box, capsule)[0]
- assert entry is None
|