mirror of
https://github.com/Hommy-master/capcut-mate.git
synced 2026-06-25 07:57:15 +08:00
76 lines
2.3 KiB
Python
76 lines
2.3 KiB
Python
import sys
|
|
import os
|
|
import json
|
|
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
|
|
|
|
from src.service.add_keyframes import parse_keyframes_data
|
|
|
|
|
|
def test_parse_keyframes_data():
|
|
"""测试关键帧数据解析"""
|
|
print("Testing keyframe data parsing...")
|
|
|
|
# 测试数据
|
|
test_keyframes = [
|
|
{
|
|
"segment_id": "segment-1",
|
|
"property": "KFTypePositionX",
|
|
"offset": 0.0,
|
|
"value": 0.0
|
|
},
|
|
{
|
|
"segment_id": "segment-1",
|
|
"property": "KFTypePositionX",
|
|
"offset": 1.0,
|
|
"value": 0.5
|
|
}
|
|
]
|
|
|
|
# 将测试数据转换为JSON字符串
|
|
keyframes_json = json.dumps(test_keyframes)
|
|
|
|
# 解析关键帧数据
|
|
parsed_keyframes = parse_keyframes_data(keyframes_json)
|
|
|
|
# 验证解析结果
|
|
assert len(parsed_keyframes) == 2
|
|
assert parsed_keyframes[0]["segment_id"] == "segment-1"
|
|
assert parsed_keyframes[0]["property"] == "KFTypePositionX"
|
|
assert parsed_keyframes[0]["offset"] == 0.0
|
|
assert parsed_keyframes[0]["value"] == 0.0
|
|
assert parsed_keyframes[1]["segment_id"] == "segment-1"
|
|
assert parsed_keyframes[1]["property"] == "KFTypePositionX"
|
|
assert parsed_keyframes[1]["offset"] == 1.0
|
|
assert parsed_keyframes[1]["value"] == 0.5
|
|
print("✓ Keyframe data parsing test passed")
|
|
|
|
|
|
def test_parse_invalid_keyframes_data():
|
|
"""测试无效关键帧数据解析"""
|
|
print("Testing invalid keyframe data parsing...")
|
|
|
|
# 测试缺少必填字段的数据
|
|
invalid_keyframes = [
|
|
{
|
|
"segment_id": "segment-1",
|
|
"property": "KFTypePositionX",
|
|
# 缺少offset和value字段
|
|
}
|
|
]
|
|
|
|
# 将测试数据转换为JSON字符串
|
|
keyframes_json = json.dumps(invalid_keyframes)
|
|
|
|
# 尝试解析关键帧数据,应该抛出异常
|
|
try:
|
|
parse_keyframes_data(keyframes_json)
|
|
assert False, "Should have raised an exception"
|
|
except Exception as e:
|
|
print(f"✓ Invalid keyframe data parsing test passed, caught expected exception: {e}")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
print("Running add_keyframes refactor tests...")
|
|
test_parse_keyframes_data()
|
|
test_parse_invalid_keyframes_data()
|
|
print("All tests passed!") |