Skip to content

Commit 11beede

Browse files
test: Add test for policies tuple input in PrimitiveFactory
Signed-off-by: FrozenlemonTee <1115306170@qq.com>
1 parent 7f5a6b0 commit 11beede

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

tests/basic/primitive/factory/test_make_primitive.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,21 @@ TEST(PrimitiveFactoryTest, DeducesSizeAndDiffPrimitiveAliases) {
4747
EXPECT_EQ(diffValue.load(), static_cast<std::ptrdiff_t>(42));
4848
}
4949

50+
TEST(PrimitiveFactoryTest, AcceptsPoliciesTupleInput) {
51+
using policies_t =
52+
meta::traits<types::I32<policy::value::checked,
53+
policy::error::expected>>::policies;
54+
using expected_t = meta::make_primitive_t<std::int32_t, policies_t>;
55+
56+
auto value1 = with(policies_t{}, 42_i32);
57+
auto value2 = with(meta::traits<decltype(value1)>::policies{}, 42_i32);
58+
59+
static_assert(std::same_as<decltype(value1), expected_t>);
60+
static_assert(std::same_as<decltype(value2), expected_t>);
61+
EXPECT_EQ(value1.load(), 42);
62+
EXPECT_EQ(value2.load(), 42_i32);
63+
}
64+
5065
TEST(PrimitiveFactoryTest, MakesPrimitiveFromDeducedCustomUnderlying) {
5166
using expected_t =
5267
primitive<UserInteger, policy::value::checked, policy::type::compatible>;

0 commit comments

Comments
 (0)