Test: add more unit tests

This commit is contained in:
wmayer
2023-08-26 11:51:02 +02:00
committed by wwmayer
parent 423cc42ac8
commit d623e37e5e
19 changed files with 1826 additions and 10 deletions

72
tests/src/Base/Handle.cpp Normal file
View File

@@ -0,0 +1,72 @@
#include "gtest/gtest.h"
#include <Base/Handle.h>
class Data: public Base::Handled
{
int myValue {};
public:
int getValue() const
{
return myValue;
}
void setValue(int val)
{
myValue = val;
}
};
TEST(Reference, TestNull)
{
Base::Reference<Data> data;
EXPECT_EQ(data.getRefCount(), 0);
}
TEST(Reference, TestConstructor)
{
Base::Reference<Data> data(new Data);
EXPECT_EQ(data.getRefCount(), 1);
}
TEST(Reference, TestCopy)
{
Base::Reference<Data> data(new Data);
Base::Reference<Data> copy(data);
EXPECT_EQ(data.getRefCount(), 2);
EXPECT_EQ(copy.getRefCount(), 2);
EXPECT_EQ(data, copy);
EXPECT_EQ(data.isValid(), true);
EXPECT_EQ(copy.isValid(), true);
EXPECT_EQ(data.isNull(), false);
EXPECT_EQ(copy.isNull(), false);
}
TEST(Reference, TestAssignRaw)
{
Base::Reference<Data> data = new Data();
EXPECT_EQ(data->getValue(), 0);
EXPECT_EQ(data.getRefCount(), 1);
}
TEST(Reference, TestAssignRef)
{
Base::Reference<Data> data = new Data();
Base::Reference<Data> copy;
copy = data;
EXPECT_EQ(data.getRefCount(), 2);
EXPECT_EQ(copy.getRefCount(), 2);
EXPECT_EQ(data, copy);
EXPECT_EQ(data.isValid(), true);
EXPECT_EQ(copy.isValid(), true);
EXPECT_EQ(data.isNull(), false);
EXPECT_EQ(copy.isNull(), false);
}
TEST(Reference, TestRefHandle)
{
Base::Reference<Data> data = new Data();
data->ref();
EXPECT_EQ(data.getRefCount(), 2);
data->unref();
EXPECT_EQ(data.getRefCount(), 1);
}