diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index cd0ee9128..bd4f9dcef 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -100,6 +100,7 @@ endmacro(add_test_file) add_test_file(src/utilities_test.cpp false) add_test_file(src/concurrentrun_test.cpp false) +add_test_file(src/mutex_protected_test.cpp false) add_test_file(src/mergedproxymodel_test.cpp false) add_test_file(src/sqlite_test.cpp false) add_test_file(src/tagreader_test.cpp false) diff --git a/tests/src/mutex_protected_test.cpp b/tests/src/mutex_protected_test.cpp new file mode 100644 index 000000000..8e603c1e0 --- /dev/null +++ b/tests/src/mutex_protected_test.cpp @@ -0,0 +1,85 @@ +#include + +#include "includes/mutex_protected.h" + +TEST(MutexProtectedTest, Test1) { + + mutex_protected value1 = 0; + mutex_protected value2 = 0; + + EXPECT_EQ(value1, 0); + EXPECT_EQ(value2, 0); + EXPECT_EQ(value1, value2); + EXPECT_TRUE(value1 == value2); + EXPECT_FALSE(value1 != value2); + EXPECT_FALSE(value1 > value2); + EXPECT_FALSE(value1 < value2); + EXPECT_TRUE(value1 >= value2); + EXPECT_TRUE(value1 <= value2); + + ++value2; + + EXPECT_EQ(value1, 0); + EXPECT_EQ(value2, 1); + EXPECT_LE(value1, value2); + EXPECT_FALSE(value1 == value2); + EXPECT_TRUE(value1 != value2); + EXPECT_FALSE(value1 > value2); + EXPECT_TRUE(value1 < value2); + EXPECT_FALSE(value1 >= value2); + EXPECT_TRUE(value1 <= value2); + + value1 += 5; + + EXPECT_EQ(value1, 5); + EXPECT_EQ(value2, 1); + EXPECT_GT(value1, value2); + EXPECT_FALSE(value1 == value2); + EXPECT_TRUE(value1 != value2); + EXPECT_TRUE(value1 > value2); + EXPECT_FALSE(value1 < value2); + EXPECT_TRUE(value1 >= value2); + EXPECT_FALSE(value1 <= value2); + +} + +TEST(MutexProtectedTest, Test2) { + + mutex_protected value1 = 0; + int value2 = 0; + + EXPECT_EQ(value1, 0); + EXPECT_EQ(value2, 0); + EXPECT_EQ(value1, value2); + EXPECT_TRUE(value1 == value2); + EXPECT_FALSE(value1 != value2); + EXPECT_FALSE(value1 > value2); + EXPECT_FALSE(value1 < value2); + EXPECT_TRUE(value1 >= value2); + EXPECT_TRUE(value1 <= value2); + + ++value2; + + EXPECT_EQ(value1, 0); + EXPECT_EQ(value2, 1); + EXPECT_LE(value1, value2); + EXPECT_FALSE(value1 == value2); + EXPECT_TRUE(value1 != value2); + EXPECT_FALSE(value1 > value2); + EXPECT_TRUE(value1 < value2); + EXPECT_FALSE(value1 >= value2); + EXPECT_TRUE(value1 <= value2); + + value1 += 5; + + EXPECT_EQ(value1, 5); + EXPECT_EQ(value2, 1); + EXPECT_GT(value1, value2); + EXPECT_FALSE(value1 == value2); + EXPECT_TRUE(value1 != value2); + EXPECT_TRUE(value1 > value2); + EXPECT_FALSE(value1 < value2); + EXPECT_TRUE(value1 >= value2); + EXPECT_FALSE(value1 <= value2); + +}