mbcp/tests/test_vector3.py
2024-08-28 04:22:22 +08:00

79 lines
1.9 KiB
Python

# -*- coding: utf-8 -*-
"""
Copyright (C) 2020-2024 LiteyukiStudio. All Rights Reserved
@Time : 2024/8/26 上午6:58
@Author : snowykami
@Email : snowykami@outlook.com
@File : test_question_1.py
@Software: PyCharm
"""
import logging
from mbcp.mp_math.angle import AnyAngle
from mbcp.mp_math.const import PI
from mbcp.mp_math.vector import Vector3
from tests.answer import output_ans
class TestVector3:
"""测试问题集"""
def test_cal_angle(self):
"""
测试计算两个向量的夹角
Returns:
"""
"""小题1"""
v1 = Vector3(0 ,1, 0)
v2 = Vector3(0, 0, 1)
correct_ans = AnyAngle(90)
actual_ans = v1.cal_angle(v2)
output_ans(correct_ans, actual_ans)
"""小题2"""
v1 = Vector3(0, 1, 0)
v2 = Vector3(1, 1, 0)
correct_ans = AnyAngle(45)
actual_ans = v1.cal_angle(v2)
output_ans(correct_ans, actual_ans)
def test_vector_cross_product(self):
"""
测试向量叉乘
Returns:
"""
v1 = Vector3(1, 2, 3)
v2 = Vector3(3, 4, 5)
actual_ans = v1.cross(v2)
correct_ans = Vector3(-2, 4, -2)
logging.info(f"正确答案{correct_ans} 实际答案{v1 @ v2}")
assert correct_ans == actual_ans
def test_determine_vector_parallel(self):
"""
测试判断向量是否平行
Returns:
"""
"""小题1"""
correct_ans = True
v1 = Vector3(1, 2, 3)
v2 = Vector3(3, 6, 9)
actual_ans = v1.is_parallel(v2)
output_ans(correct_ans, actual_ans)
assert correct_ans == actual_ans
"""小题2"""
correct_ans = False
v1 = Vector3(1, 2, 3)
v2 = Vector3(3, 6, 8)
actual_ans = v1.is_parallel(v2)
output_ans(correct_ans, actual_ans)
assert correct_ans == actual_ans