MCPcopy Create free account
hub / github.com/cocos/cocos-engine / TEST

Function TEST

native/tests/unit-test/src/math_vec3_test.cpp:32–183  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

30#include "utils.h"
31
32TEST(mathVec3Test, test2) {
33 cc::Vec3 vec3(1, 2, 3);
34 // isZero
35 logLabel = "test whether vec3 is 0";
36 ExpectEq(vec3.isZero(), false);
37 vec3.set(0, 0, 0);
38 ExpectEq(vec3.isZero(), true);
39 vec3.set(1, 1, 1);
40 vec3.setZero();
41 ExpectEq(vec3.isZero(), true);
42 // isOne
43 logLabel = "test whether vec3 is 1";
44 ExpectEq(vec3.isOne(), false);
45 vec3.set(1, 1, 1);
46 ExpectEq(vec3.isOne(), true);
47 vec3.set(1.1f, 1.0f, 1.0f);
48 ExpectEq(vec3.isOne(), false);
49 // angle
50 logLabel = "test the vec3 angle function";
51 ExpectEq(IsEqualF(vec3.angle(cc::Vec3(2, 0, 0), cc::Vec3(-2, 0, 0)), M_PI), true);
52 ExpectEq(IsEqualF(vec3.angle(cc::Vec3(2, 0, 0), cc::Vec3(0, 2, 0)), M_PI * 0.5f), true);
53 ExpectEq(IsEqualF(vec3.angle(cc::Vec3(2, 0, 0), cc::Vec3(0, -2, 0)), M_PI * 0.5f), true);
54 // transformInverseRTS
55 logLabel = "test the vec3 transformInverseRTS function";
56 cc::Vec3::transformInverseRTS(cc::Vec3(-2, 4, 7), cc::Quaternion(0, 0, sin(M_PI / 4), cos(M_PI / 4)), cc::Vec3(1, 2, 3), cc::Vec3(2, 3, 4), &vec3);
57 ExpectEq(vec3.approxEquals(cc::Vec3(1, 1, 1)), true);
58 // add
59 logLabel = "test the vec3 add function";
60 vec3.set(3.9, 1.3, 0);
61 vec3.add(cc::Vec3(2.1f, 1.7f, 0));
62 ExpectEq(vec3 == cc::Vec3(6, 3, 0), true);
63 cc::Vec3::add(cc::Vec3(6, 3, 0), cc::Vec3(2, 1, 0), &vec3);
64 ExpectEq(vec3 == cc::Vec3(8, 4, 0), true);
65 // clamp
66 logLabel = "test the vec3 clamp function";
67 vec3.clamp(cc::Vec3(3, 1, 0), cc::Vec3(6, 2, 0));
68 ExpectEq(vec3 == cc::Vec3(6, 2, 0), true);
69 cc::Vec3::clamp(cc::Vec3(6, 2, 0), cc::Vec3(7, 1, 0), cc::Vec3(11, 3, 0), &vec3);
70 ExpectEq(vec3 == cc::Vec3(7, 2, 0), true);
71 // cross
72 logLabel = "test the vec3 cross function";
73 vec3.set(1, 2, 3);
74 vec3.cross(cc::Vec3(3, 2, 1));
75 ExpectEq(vec3 == cc::Vec3(-4, 8, -4), true);
76 vec3.set(0, 0, 0);
77 cc::Vec3::cross(cc::Vec3(1, 2, 3), cc::Vec3(3, 2, 1), &vec3);
78 ExpectEq(vec3 == cc::Vec3(-4, 8, -4), true);
79 // multiply
80 logLabel = "test the vec3 multiply function";
81 vec3.set(1, 3, 2);
82 vec3.multiply(cc::Vec3(4, 7, 9));
83 ExpectEq(vec3 == cc::Vec3(4, 21, 18), true);
84 cc::Vec3::multiply(cc::Vec3(1, 3, 2), cc::Vec3(4, 7, 9), &vec3);
85 ExpectEq(vec3 == cc::Vec3(4, 21, 18), true);
86 // transformMat3
87 logLabel = "test the vec3 transformMat3 function";
88 cc::Mat3 matScale;
89 matScale.m[0] = 2;

Callers

nothing calls this directly

Calls 15

ExpectEqFunction · 0.85
IsEqualFFunction · 0.85
sinFunction · 0.85
cosFunction · 0.85
crossFunction · 0.85
setZeroMethod · 0.80
isOneMethod · 0.80
addMethod · 0.65
Vec3Class · 0.50
QuaternionClass · 0.50
addFunction · 0.50
clampFunction · 0.50

Tested by

no test coverage detected