MCPcopy Create free account
hub / github.com/OpenMW/openmw / TEST_F

Function TEST_F

apps/components_tests/lua/testutilpackage.cpp:36–67  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

34 }
35
36 TEST_F(LuaUtilPackageTest, Vector2)
37 {
38 sol::state_view lua = mLuaState.unsafeState();
39 lua.safe_script("v = util.vector2(3, 4)");
40 EXPECT_FLOAT_EQ(get<float>(lua, "v.x"), 3);
41 EXPECT_FLOAT_EQ(get<float>(lua, "v.y"), 4);
42 EXPECT_EQ(get<std::string>(lua, "tostring(v)"), "(3, 4)");
43 EXPECT_FLOAT_EQ(get<float>(lua, "v:length()"), 5);
44 EXPECT_FLOAT_EQ(get<float>(lua, "v:length2()"), 25);
45 EXPECT_FALSE(get<bool>(lua, "util.vector2(1, 2) == util.vector2(1, 3)"));
46 EXPECT_TRUE(get<bool>(lua, "util.vector2(1, 2) + util.vector2(2, 5) == util.vector2(3, 7)"));
47 EXPECT_TRUE(get<bool>(lua, "util.vector2(1, 2) - util.vector2(2, 5) == -util.vector2(1, 3)"));
48 EXPECT_TRUE(get<bool>(lua, "util.vector2(1, 2) == util.vector2(2, 4) / 2"));
49 EXPECT_TRUE(get<bool>(lua, "util.vector2(1, 2) * 2 == util.vector2(2, 4)"));
50 EXPECT_FLOAT_EQ(get<float>(lua, "util.vector2(3, 2) * v"), 17);
51 EXPECT_FLOAT_EQ(get<float>(lua, "util.vector2(3, 2):dot(v)"), 17);
52 EXPECT_ERROR(lua.safe_script("v2, len = v.normalize()"),
53 "value is not a valid userdata"); // checks that it doesn't segfault
54 lua.safe_script("v2, len = v:normalize()");
55 EXPECT_FLOAT_EQ(get<float>(lua, "len"), 5);
56 EXPECT_TRUE(get<bool>(lua, "v2 == util.vector2(3/5, 4/5)"));
57 lua.safe_script("_, len = util.vector2(0, 0):normalize()");
58 EXPECT_FLOAT_EQ(get<float>(lua, "len"), 0);
59 lua.safe_script("ediv0 = util.vector2(1, 0):ediv(util.vector2(0, 0))");
60 EXPECT_TRUE(get<bool>(lua, "ediv0.x == math.huge and ediv0.y ~= ediv0.y"));
61 EXPECT_TRUE(get<bool>(lua, "util.vector2(1, 2):emul(util.vector2(3, 4)) == util.vector2(3, 8)"));
62 EXPECT_TRUE(get<bool>(lua, "util.vector2(4, 6):ediv(util.vector2(2, 3)) == util.vector2(2, 2)"));
63 lua.safe_script("swizzle = util.vector2(1, 2)");
64 EXPECT_TRUE(get<bool>(lua, "swizzle.xx == util.vector2(1, 1) and swizzle.yy == util.vector2(2, 2)"));
65 EXPECT_TRUE(get<bool>(lua, "swizzle.y0 == util.vector2(2, 0) and swizzle.x1 == util.vector2(1, 1)"));
66 EXPECT_TRUE(get<bool>(lua, "swizzle['01'] == util.vector2(0, 1) and swizzle['0y'] == util.vector2(0, 2)"));
67 }
68
69 TEST_F(LuaUtilPackageTest, Vector3)
70 {

Callers

nothing calls this directly

Calls 5

getAsStringFunction · 0.85
StartsWithClass · 0.85
EndsWithClass · 0.85
unsafeStateMethod · 0.80
safe_scriptMethod · 0.80

Tested by

no test coverage detected