1 #include "SketchUpAPITests.hpp" 2 #include "gtest/gtest.h" 6 #include <SketchUpAPI/sketchup.h> 8 #include "SUAPI-CppWrapper/model/TypedValue.hpp" 9 #include "SUAPI-CppWrapper/model/Model.hpp" 10 #include "SUAPI-CppWrapper/Initialize.hpp" 11 #include "SUAPI-CppWrapper/model/AttributeDictionary.hpp" 12 #include "ModelPath.h" 14 TEST(TypedValue, bool_value_true)
16 SUTypedValueRef su_typed_value = SU_INVALID;
17 SU(SUTypedValueCreate(&su_typed_value));
18 SU(SUTypedValueSetBool(su_typed_value,
true));
21 auto value = typed_value.bool_value();
26 TEST(TypedValue, bool_value_false)
28 SUTypedValueRef su_typed_value = SU_INVALID;
29 SU(SUTypedValueCreate(&su_typed_value));
30 SU(SUTypedValueSetBool(su_typed_value,
false));
33 auto value = typed_value.bool_value();
38 TEST(DISABLED_TypedValue, bool_value_wrong_type)
40 SUColor color{ 255, 128, 64, 32 };
42 SUTypedValueRef su_typed_value = SU_INVALID;
43 SU(SUTypedValueCreate(&su_typed_value));
44 SU(SUTypedValueSetColor(su_typed_value, &color));
48 ASSERT_THROW(typed_value.bool_value(), std::exception);
52 TEST(TypedValue, typed_value_array_GetInts)
54 SUTypedValueRef su_typed_value = SU_INVALID;
55 SU(SUTypedValueCreate(&su_typed_value));
56 std::vector<SUTypedValueRef> su_values;
57 for (int32_t i = 0; i < 3; ++i)
59 SUTypedValueRef su_value = SU_INVALID;
60 SU(SUTypedValueCreate(&su_value));
61 SU(SUTypedValueSetInt32(su_value, i));
62 su_values.emplace_back(su_value);
64 SU(SUTypedValueSetArrayItems(su_typed_value, su_values.size(), su_values.data()));
67 auto values = typed_value.typed_value_array();
69 ASSERT_EQ(3, values.size());
71 ASSERT_EQ(0, values.at(0).int32_value());
72 ASSERT_EQ(1, values.at(1).int32_value());
73 ASSERT_EQ(2, values.at(2).int32_value());
76 TEST(TypedValue, get_mixed_array_items)
78 std::string filepath = TEST_MODEL_PATH +
"/issue-48.skp";
82 CW::TypedValue typed_value_array = model.get_attribute(
"TypedValues",
"Array<mixed>", default_value);
84 SUResult res = SUTypedValueGetNumArrayItems(typed_value_array, &count);