diff --git a/tests/src/Base/Bitmask.cpp b/tests/src/Base/Bitmask.cpp
new file mode 100644
index 0000000000..1c64180efb
--- /dev/null
+++ b/tests/src/Base/Bitmask.cpp
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: LGPL-2.1-or-later
+
+#include "gtest/gtest.h"
+
+#include
+
+enum class TestFlagEnum {
+ Flag1,
+ Flag2,
+ Flag3
+};
+
+class BitmaskTest: public ::testing::Test
+{
+protected:
+ // void SetUp() override {};
+ // void TearDown() override {};
+};
+
+TEST_F(BitmaskTest, toUnderlyingType)
+{
+ // Arrange
+ Base::Flags flag1 {TestFlagEnum::Flag1};
+
+ // Act
+ auto result = flag1.toUnderlyingType();
+
+ // Assert
+ EXPECT_EQ(typeid(result), typeid(int));
+}
diff --git a/tests/src/Base/CMakeLists.txt b/tests/src/Base/CMakeLists.txt
index 638c5a1fad..6871874838 100644
--- a/tests/src/Base/CMakeLists.txt
+++ b/tests/src/Base/CMakeLists.txt
@@ -1,6 +1,7 @@
target_sources(
Tests_run
PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}/Bitmask.cpp
${CMAKE_CURRENT_SOURCE_DIR}/Matrix.cpp
${CMAKE_CURRENT_SOURCE_DIR}/Quantity.cpp
${CMAKE_CURRENT_SOURCE_DIR}/Reader.cpp