def test_creates_expanding_force(self): self.v2.x = 1 set_all_beam_forces([self.edge]) self.assertTrue( same_direction_vec(self.v1.total_force(), Vector3(-1, 0, 0))) self.assertTrue( same_direction_vec(self.v2.total_force(), Vector3(1, 0, 0)))
def test_creates_equal_forces_when_velocity_changes(self): self.v1.velocity = Vector3(-1, 0, 0) self.v2.velocity = Vector3(1, 0, 0) set_all_damping_forces([self.edge]) self.assertEqual(self.v1.total_force(), -self.v2.total_force()) self.assertTrue( same_direction_vec(self.v1.total_force(), Vector3(1, 0, 0))) self.assertTrue( same_direction_vec(self.v2.total_force(), Vector3(-1, 0, 0)))
def test_creates_downwards_force_for_mountain_assignment(self): self.edge.assignment = EDGE_MOUNTAIN self.edge.target_angle = angle_from_assignment(self.edge.assignment) set_all_crease_forces([self.edge]) self.assertTrue( same_direction_vec(self.v1.total_force(), Vector3(0, 0, -1))) self.assertTrue( same_direction_vec(self.v2.total_force(), Vector3(0, 0, 1))) self.assertTrue( same_direction_vec(self.v3.total_force(), Vector3(0, 0, -1))) self.assertTrue( same_direction_vec(self.v4.total_force(), Vector3(0, 0, 1)))
def test_creates_upward_force_for_valley_assignment(self): self.edge.assignment = EDGE_VALLEY self.edge.target_angle = angle_from_assignment(self.edge.assignment) set_all_crease_forces([self.edge]) self.assertTrue( same_direction_vec(self.v1.total_force(), Vector3(0, 0, 1))) self.assertTrue( same_direction_vec(self.v2.total_force(), Vector3(0, 0, -1))) self.assertTrue( same_direction_vec(self.v3.total_force(), Vector3(0, 0, 1))) self.assertTrue( same_direction_vec(self.v4.total_force(), Vector3(0, 0, -1)))
def test_creates_pushing_force_if_face_is_expanded(self): self.v3.y = 3 set_all_face_forces([self.face]) self.assertTrue(same_direction_vec(self.v3.total_force(), Vector3(0, -1, 0)))
def test_creates_pulling_force_if_face_is_squished(self): self.v3.y = 1 set_all_face_forces([self.face]) self.assertTrue(same_direction_vec(self.v3.total_force(), Vector3(0, 1, 0)))
def test_returns_false_if_not_opposite_direction(self): v1 = Vector3(1, 2, 3) v2 = Vector3(2, 4, 6) self.assertTrue(same_direction_vec(v1, v2))
def test_returns_true_if_opposite_direction(self): v1 = Vector3(1, 2, 3) v2 = Vector3(2, -3, 6) self.assertFalse(same_direction_vec(v1, v2))
def test_returns_false_if_not_same_direction(self): v1 = Vector3(1, 2, 3) v2 = Vector3(2, -3, 6) self.assertFalse(same_direction_vec(v1, v2))
def test_returns_true_if_same_direction(self): v1 = Vector3(1, 2, 3) v2 = Vector3(2, 4, 6) self.assertTrue(same_direction_vec(v1, v2))