mirror of
https://github.com/snowykami/mbcp.git
synced 2024-11-24 23:35:04 +08:00
79 lines
1.9 KiB
Python
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
|
|
|
|
|
|
|