object type interface

Signed-off-by: Folling <mail@folling.io>
This commit is contained in:
folling 2023-08-25 08:52:34 +02:00 committed by Folling
parent 20d1cf8264
commit 660736133a
Signed by: folling
SSH key fingerprint: SHA256:S9qEx5WCFFLK49tE/LKnKuJYM5sw+++Dn6qJbbyxnCY
2 changed files with 55 additions and 13 deletions

32
src/types/object_type.cpp Normal file
View file

@ -0,0 +1,32 @@
#include <ikarus/types/object_type.h>
#include <catch2/catch_test_macros.hpp>
IkarusObjectType ikarus_folder_type_to_object_type(IkarusFolderType type) {
return static_cast<IkarusObjectType>(type);
}
IkarusObjectTypes ikarus_object_type_to_bitset(IkarusObjectType type) {
if (type == 0) {
return static_cast<IkarusObjectTypes>(0);
}
return static_cast<IkarusObjectTypes>(1 << type);
}
TEST_CASE("folder_to_object_type_conversion", "[object_type]") {
REQUIRE(ikarus_folder_type_to_object_type(IkarusFolderType_None) == IkarusObjectType_None);
REQUIRE(ikarus_folder_type_to_object_type(IkarusFolderType_BlueprintFolder) == IkarusObjectType_BlueprintFolder);
REQUIRE(ikarus_folder_type_to_object_type(IkarusFolderType_PropertyFolder) == IkarusObjectType_PropertyFolder);
REQUIRE(ikarus_folder_type_to_object_type(IkarusFolderType_EntityFolder) == IkarusObjectType_EntityFolder);
}
TEST_CASE("object_type_to_bitset_conversion", "[object_type]") {
REQUIRE(ikarus_object_type_to_bitset(IkarusObjectType_None) == IkarusObjectTypes_None);
REQUIRE(ikarus_object_type_to_bitset(IkarusObjectType_Blueprint) == IkarusObjectTypes_Blueprint);
REQUIRE(ikarus_object_type_to_bitset(IkarusObjectType_Property) == IkarusObjectTypes_Property);
REQUIRE(ikarus_object_type_to_bitset(IkarusObjectType_Entity) == IkarusObjectTypes_Entity);
REQUIRE(ikarus_object_type_to_bitset(IkarusObjectType_BlueprintFolder) == IkarusObjectTypes_BlueprintFolder);
REQUIRE(ikarus_object_type_to_bitset(IkarusObjectType_PropertyFolder) == IkarusObjectTypes_PropertyFolder);
REQUIRE(ikarus_object_type_to_bitset(IkarusObjectType_EntityFolder) == IkarusObjectTypes_EntityFolder);
}