diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/AssetTest.cpp | 26 | ||||
| -rw-r--r-- | src/test/CMakeLists.txt | 3 | ||||
| -rw-r--r-- | src/test/OptionalRefTest.cpp | 37 | ||||
| -rw-r--r-- | src/test/ParticleTest.cpp | 2 | 
4 files changed, 67 insertions, 1 deletions
| diff --git a/src/test/AssetTest.cpp b/src/test/AssetTest.cpp new file mode 100644 index 0000000..8aa7629 --- /dev/null +++ b/src/test/AssetTest.cpp @@ -0,0 +1,26 @@ +#include <gtest/gtest.h> + +#include <crepe/api/Asset.h> +#include <crepe/api/Config.h> + +using namespace std; +using namespace crepe; +using namespace testing; + +class AssetTest : public Test { +public: +	Config & cfg = Config::get_instance(); +	void SetUp() override { this->cfg.asset.root_pattern = ".crepe-root"; } +}; + +TEST_F(AssetTest, Existant) { ASSERT_NO_THROW(Asset{"asset/texture/img.png"}); } + +TEST_F(AssetTest, Nonexistant) { ASSERT_ANY_THROW(Asset{"asset/nonexistant"}); } + +TEST_F(AssetTest, Rootless) { +	cfg.asset.root_pattern.clear(); + +	string arbitrary = "\\/this is / /../passed through as-is"; +	Asset asset{arbitrary}; +	ASSERT_EQ(arbitrary, asset.get_path()); +} diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index d56d80f..f189e3d 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -3,6 +3,9 @@ target_sources(test_main PUBLIC  	PhysicsTest.cpp  	ScriptTest.cpp  	ParticleTest.cpp +	AssetTest.cpp +	OptionalRefTest.cpp +	RenderSystemTest.cpp  	ECSTest.cpp  	SceneManagerTest.cpp  ) diff --git a/src/test/OptionalRefTest.cpp b/src/test/OptionalRefTest.cpp new file mode 100644 index 0000000..2072d56 --- /dev/null +++ b/src/test/OptionalRefTest.cpp @@ -0,0 +1,37 @@ +#include <gtest/gtest.h> + +#include <crepe/util/OptionalRef.h> + +using namespace std; +using namespace crepe; +using namespace testing; + +TEST(OptionalRefTest, Explicit) { +	string value = "foo"; +	OptionalRef<string> ref; +	EXPECT_FALSE(ref); +	ASSERT_THROW(ref.get(), runtime_error); + +	ref.set(value); +	EXPECT_TRUE(ref); +	ASSERT_NO_THROW(ref.get()); + +	ref.clear(); +	EXPECT_FALSE(ref); +	ASSERT_THROW(ref.get(), runtime_error); +} + +TEST(OptionalRefTest, Implicit) { +	string value = "foo"; +	OptionalRef<string> ref = value; +	EXPECT_TRUE(ref); +	ASSERT_NO_THROW(ref.get()); + +	ref.clear(); +	EXPECT_FALSE(ref); +	ASSERT_THROW(ref.get(), runtime_error); + +	ref = value; +	EXPECT_TRUE(ref); +	ASSERT_NO_THROW(ref.get()); +} diff --git a/src/test/ParticleTest.cpp b/src/test/ParticleTest.cpp index 4e655a9..cfbbc0e 100644 --- a/src/test/ParticleTest.cpp +++ b/src/test/ParticleTest.cpp @@ -29,7 +29,7 @@ public:  			Color color(0, 0, 0, 0);  			Sprite test_sprite = game_object.add_component<Sprite>( -				make_shared<Texture>("../asset/texture/img.png"), color, +				make_shared<Texture>("asset/texture/img.png"), color,  				FlipSettings{true, true});  			game_object.add_component<ParticleEmitter>(ParticleEmitter::Data{ |