Skip to content

Commit 02041d5

Browse files
rudybearmeta-codesync[bot]
authored andcommitted
igl | Add BackendFlavor and BackendVersion unit tests
Reviewed By: corporateshark Differential Revision: D109867984 fbshipit-source-id: eb08196a643aa811edb2597d4dffc29b87eeef0c
1 parent 84c8697 commit 02041d5

1 file changed

Lines changed: 78 additions & 0 deletions

File tree

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
/*
2+
* Copyright (c) Meta Platforms, Inc. and affiliates.
3+
*
4+
* This source code is licensed under the MIT license found in the
5+
* LICENSE file in the root directory of this source tree.
6+
*/
7+
8+
#include <gtest/gtest.h>
9+
10+
#include <igl/DeviceFeatures.h>
11+
12+
namespace igl::tests {
13+
14+
// ---------------------------------------------------------------------------
15+
// BackendFlavor
16+
// ---------------------------------------------------------------------------
17+
18+
TEST(BackendFlavorTest, EnumValues) {
19+
EXPECT_EQ(static_cast<uint8_t>(BackendFlavor::Invalid), 0u);
20+
EXPECT_EQ(static_cast<uint8_t>(BackendFlavor::OpenGL), 1u);
21+
EXPECT_EQ(static_cast<uint8_t>(BackendFlavor::OpenGL_ES), 2u);
22+
EXPECT_EQ(static_cast<uint8_t>(BackendFlavor::Metal), 3u);
23+
EXPECT_EQ(static_cast<uint8_t>(BackendFlavor::Vulkan), 4u);
24+
EXPECT_EQ(static_cast<uint8_t>(BackendFlavor::D3D12), 5u);
25+
}
26+
27+
// ---------------------------------------------------------------------------
28+
// BackendVersion
29+
// ---------------------------------------------------------------------------
30+
31+
TEST(BackendVersionTest, DefaultConstruction) {
32+
const BackendVersion bv;
33+
EXPECT_EQ(bv.flavor, BackendFlavor::Invalid);
34+
EXPECT_EQ(bv.majorVersion, 0u);
35+
EXPECT_EQ(bv.minorVersion, 0u);
36+
}
37+
38+
TEST(BackendVersionTest, DesignatedInitializer) {
39+
const BackendVersion bv{
40+
.flavor = BackendFlavor::Vulkan,
41+
.majorVersion = 1,
42+
.minorVersion = 3,
43+
};
44+
EXPECT_EQ(bv.flavor, BackendFlavor::Vulkan);
45+
EXPECT_EQ(bv.majorVersion, 1u);
46+
EXPECT_EQ(bv.minorVersion, 3u);
47+
}
48+
49+
TEST(BackendVersionTest, EqualityReflexive) {
50+
const BackendVersion bv{.flavor = BackendFlavor::Metal, .majorVersion = 3, .minorVersion = 0};
51+
EXPECT_EQ(bv, bv);
52+
}
53+
54+
TEST(BackendVersionTest, EqualitySameValues) {
55+
const BackendVersion a{.flavor = BackendFlavor::Vulkan, .majorVersion = 1, .minorVersion = 3};
56+
const BackendVersion b{.flavor = BackendFlavor::Vulkan, .majorVersion = 1, .minorVersion = 3};
57+
EXPECT_EQ(a, b);
58+
}
59+
60+
TEST(BackendVersionTest, InequalityDifferentFlavor) {
61+
const BackendVersion a{.flavor = BackendFlavor::Vulkan, .majorVersion = 1, .minorVersion = 0};
62+
const BackendVersion b{.flavor = BackendFlavor::Metal, .majorVersion = 1, .minorVersion = 0};
63+
EXPECT_NE(a, b);
64+
}
65+
66+
TEST(BackendVersionTest, InequalityDifferentMajorVersion) {
67+
const BackendVersion a{.flavor = BackendFlavor::Vulkan, .majorVersion = 1, .minorVersion = 0};
68+
const BackendVersion b{.flavor = BackendFlavor::Vulkan, .majorVersion = 2, .minorVersion = 0};
69+
EXPECT_NE(a, b);
70+
}
71+
72+
TEST(BackendVersionTest, InequalityDifferentMinorVersion) {
73+
const BackendVersion a{.flavor = BackendFlavor::Vulkan, .majorVersion = 1, .minorVersion = 0};
74+
const BackendVersion b{.flavor = BackendFlavor::Vulkan, .majorVersion = 1, .minorVersion = 3};
75+
EXPECT_NE(a, b);
76+
}
77+
78+
} // namespace igl::tests

0 commit comments

Comments
 (0)