summaryrefslogtreecommitdiffstats
path: root/tests/PieceRotation
diff options
context:
space:
mode:
Diffstat (limited to 'tests/PieceRotation')
-rw-r--r--tests/PieceRotation/Bindings.h15
-rw-r--r--tests/PieceRotation/CMakeLists.txt102
-rw-r--r--tests/PieceRotation/LuaState_Declaration.inc4
-rw-r--r--tests/PieceRotation/LuaState_Typedefs.inc19
-rw-r--r--tests/PieceRotation/PieceRotationTest.cpp170
-rw-r--r--tests/PieceRotation/Stubs.cpp290
6 files changed, 0 insertions, 600 deletions
diff --git a/tests/PieceRotation/Bindings.h b/tests/PieceRotation/Bindings.h
deleted file mode 100644
index 490830ac3..000000000
--- a/tests/PieceRotation/Bindings.h
+++ /dev/null
@@ -1,15 +0,0 @@
-
-// Bindings.h
-
-// Dummy include file needed for LuaState to compile successfully
-
-
-
-
-struct lua_State;
-
-int tolua_AllToLua_open(lua_State * a_LuaState);
-
-
-
-
diff --git a/tests/PieceRotation/CMakeLists.txt b/tests/PieceRotation/CMakeLists.txt
deleted file mode 100644
index bb1b37a53..000000000
--- a/tests/PieceRotation/CMakeLists.txt
+++ /dev/null
@@ -1,102 +0,0 @@
-enable_testing()
-
-include_directories(${CMAKE_SOURCE_DIR}/src/)
-include_directories(SYSTEM ${CMAKE_SOURCE_DIR}/lib/)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR})
-
-add_definitions(-DTEST_GLOBALS=1)
-
-set (SHARED_SRCS
- ${CMAKE_SOURCE_DIR}/src/BiomeDef.cpp
- ${CMAKE_SOURCE_DIR}/src/BlockArea.cpp
- ${CMAKE_SOURCE_DIR}/src/Cuboid.cpp
- ${CMAKE_SOURCE_DIR}/src/ChunkData.cpp
- ${CMAKE_SOURCE_DIR}/src/StringCompression.cpp
- ${CMAKE_SOURCE_DIR}/src/StringUtils.cpp
-
- ${CMAKE_SOURCE_DIR}/src/Bindings/LuaState.cpp
-
- ${CMAKE_SOURCE_DIR}/src/Generating/ChunkDesc.cpp
- ${CMAKE_SOURCE_DIR}/src/Generating/PiecePool.cpp
- ${CMAKE_SOURCE_DIR}/src/Generating/Prefab.cpp
- ${CMAKE_SOURCE_DIR}/src/Generating/PrefabPiecePool.cpp
- ${CMAKE_SOURCE_DIR}/src/Generating/VerticalLimit.cpp
- ${CMAKE_SOURCE_DIR}/src/Generating/VerticalStrategy.cpp
-
- ${CMAKE_SOURCE_DIR}/src/Noise/Noise.cpp
-
- ${CMAKE_SOURCE_DIR}/src/OSSupport/CriticalSection.cpp
- ${CMAKE_SOURCE_DIR}/src/OSSupport/Event.cpp
- ${CMAKE_SOURCE_DIR}/src/OSSupport/File.cpp
- ${CMAKE_SOURCE_DIR}/src/OSSupport/GZipFile.cpp
- ${CMAKE_SOURCE_DIR}/src/OSSupport/StackTrace.cpp
-
- ${CMAKE_SOURCE_DIR}/src/WorldStorage/FastNBT.cpp
- ${CMAKE_SOURCE_DIR}/src/WorldStorage/SchematicFileSerializer.cpp
-)
-
-set (SHARED_HDRS
- ${CMAKE_SOURCE_DIR}/src/BiomeDef.h
- ${CMAKE_SOURCE_DIR}/src/BlockArea.h
- ${CMAKE_SOURCE_DIR}/src/Cuboid.h
- ${CMAKE_SOURCE_DIR}/src/ChunkData.h
- ${CMAKE_SOURCE_DIR}/src/Globals.h
- ${CMAKE_SOURCE_DIR}/src/StringCompression.h
- ${CMAKE_SOURCE_DIR}/src/StringUtils.h
-
- ${CMAKE_SOURCE_DIR}/src/Bindings/LuaState.h
-
- ${CMAKE_SOURCE_DIR}/src/Generating/ChunkDesc.h
- ${CMAKE_SOURCE_DIR}/src/Generating/PiecePool.h
- ${CMAKE_SOURCE_DIR}/src/Generating/Prefab.h
- ${CMAKE_SOURCE_DIR}/src/Generating/PrefabPiecePool.h
- ${CMAKE_SOURCE_DIR}/src/Generating/VerticalLimit.h
- ${CMAKE_SOURCE_DIR}/src/Generating/VerticalStrategy.h
-
- ${CMAKE_SOURCE_DIR}/src/Noise/Noise.h
-
- ${CMAKE_SOURCE_DIR}/src/OSSupport/CriticalSection.h
- ${CMAKE_SOURCE_DIR}/src/OSSupport/Event.h
- ${CMAKE_SOURCE_DIR}/src/OSSupport/File.h
- ${CMAKE_SOURCE_DIR}/src/OSSupport/GZipFile.h
- ${CMAKE_SOURCE_DIR}/src/OSSupport/StackTrace.h
-
- ${CMAKE_SOURCE_DIR}/src/WorldStorage/FastNBT.h
- ${CMAKE_SOURCE_DIR}/src/WorldStorage/SchematicFileSerializer.h
-)
-
-set (SRCS
- PieceRotationTest.cpp
- Stubs.cpp
- LuaState_Typedefs.inc
- LuaState_Declaration.inc
- Bindings.h
-)
-
-
-if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
- add_flags_cxx("-Wno-error=global-constructors")
- add_flags_cxx("-Wno-error=switch-enum")
-endif()
-
-
-if (MSVC)
- # Add the MSVC-specific LeakFinder sources:
- list (APPEND SHARED_SRCS ${CMAKE_SOURCE_DIR}/src/LeakFinder.cpp ${CMAKE_SOURCE_DIR}/src/StackWalker.cpp)
- list (APPEND SHARED_HDRS ${CMAKE_SOURCE_DIR}/src/LeakFinder.h ${CMAKE_SOURCE_DIR}/src/StackWalker.h)
-endif()
-
-source_group("Shared" FILES ${SHARED_SRCS} ${SHARED_HDRS})
-source_group("Sources" FILES ${SRCS})
-add_executable(PieceRotation ${SRCS} ${SHARED_SRCS} ${SHARED_HDRS})
-target_link_libraries(PieceRotation tolualib zlib)
-add_test(NAME PieceRotation-test WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND PieceRotation)
-
-
-
-
-# Put the projects into solution folders (MSVC):
-set_target_properties(
- PieceRotation
- PROPERTIES FOLDER Tests
-)
diff --git a/tests/PieceRotation/LuaState_Declaration.inc b/tests/PieceRotation/LuaState_Declaration.inc
deleted file mode 100644
index 4019b26c6..000000000
--- a/tests/PieceRotation/LuaState_Declaration.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-
-// LuaState_Declaration.inc
-
-// Dummy include file needed for LuaState to compile successfully
diff --git a/tests/PieceRotation/LuaState_Typedefs.inc b/tests/PieceRotation/LuaState_Typedefs.inc
deleted file mode 100644
index 5eba7c6f8..000000000
--- a/tests/PieceRotation/LuaState_Typedefs.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-
-// LuaState_Typedefs.inc
-
-// Dummy include file needed for LuaState to compile successfully
-
-
-
-
-
-// Forward-declare classes that are used in the API but never called:
-struct HTTPRequest;
-struct HTTPTemplateRequest;
-class cPluginLua;
-class cBoundingBox;
-template <typename T> class cItemCallback;
-class cEntity;
-
-
-
diff --git a/tests/PieceRotation/PieceRotationTest.cpp b/tests/PieceRotation/PieceRotationTest.cpp
deleted file mode 100644
index ace3bd489..000000000
--- a/tests/PieceRotation/PieceRotationTest.cpp
+++ /dev/null
@@ -1,170 +0,0 @@
-// PieceRotation.cpp
-
-// Implements the tests for cPiece::cConnector::eDirection rotations
-
-#include "Globals.h"
-#include <exception>
-#include <map>
-#include "Generating/PiecePool.h"
-
-
-
-
-
-static cPiece::cConnector::eDirection g_AllDirections[] =
-{
- cPiece::cConnector::dirXM,
- cPiece::cConnector::dirXP,
- cPiece::cConnector::dirYM,
- cPiece::cConnector::dirYP,
- cPiece::cConnector::dirZM,
- cPiece::cConnector::dirZP,
- cPiece::cConnector::dirYM_XM_ZM,
- cPiece::cConnector::dirYM_XM_ZP,
- cPiece::cConnector::dirYM_XP_ZM,
- cPiece::cConnector::dirYM_XP_ZP,
- cPiece::cConnector::dirYP_XM_ZM,
- cPiece::cConnector::dirYP_XM_ZP,
- cPiece::cConnector::dirYP_XP_ZM,
- cPiece::cConnector::dirYP_XP_ZP,
-};
-
-
-
-
-
-class cTestFailure: public std::exception
-{
-public:
- cTestFailure(const char * a_Expression, const char * a_FileName, const int a_Line):
- std::exception(),
- m_Expression(a_Expression),
- m_FileName(a_FileName),
- m_Line(a_Line)
- {
- }
-
- const std::string m_Expression;
- const std::string m_FileName;
- const int m_Line;
-};
-
-
-
-
-
-#define EXPECT(X) if (!(X)) \
- { \
- ASSERT(X); \
- throw cTestFailure(#X, __FILE__, __LINE__); \
- }
-
-
-
-
-
-/** Tests that rotating a direction in one way and then the opposite way produces the original direction. */
-static void testBackAndForth()
-{
- for (size_t i = 0; i < ARRAYCOUNT(g_AllDirections); ++i)
- {
- auto rotated = cPiece::cConnector::RotateDirectionCW(g_AllDirections[i]);
- auto back = cPiece::cConnector::RotateDirectionCCW(rotated);
- EXPECT(back == g_AllDirections[i]);
- }
- for (size_t i = 0; i < ARRAYCOUNT(g_AllDirections); ++i)
- {
- auto rotated = cPiece::cConnector::RotateDirectionCCW(g_AllDirections[i]);
- auto back = cPiece::cConnector::RotateDirectionCW(rotated);
- EXPECT(back == g_AllDirections[i]);
- }
-}
-
-
-
-
-
-/** Tests rotating the direction 360 degrees. */
-static void testFullRotation()
-{
- // Rotate 90 degrees CCW four times:
- for (size_t i = 0; i < ARRAYCOUNT(g_AllDirections); ++i)
- {
- auto d = g_AllDirections[i];
- for (int j = 0; j < 4; ++j)
- {
- d = cPiece::cConnector::RotateDirectionCCW(d);
- }
- EXPECT(d == g_AllDirections[i]);
- }
-
- // Rotate 90 degrees CW four times:
- for (size_t i = 0; i < ARRAYCOUNT(g_AllDirections); ++i)
- {
- auto d = g_AllDirections[i];
- for (int j = 0; j < 4; ++j)
- {
- d = cPiece::cConnector::RotateDirectionCW(d);
- }
- EXPECT(d == g_AllDirections[i]);
- }
-
- // Rotate 180 degrees twice:
- for (size_t i = 0; i < ARRAYCOUNT(g_AllDirections); ++i)
- {
- auto d = g_AllDirections[i];
- d = cPiece::cConnector::RotateDirection(d);
- d = cPiece::cConnector::RotateDirection(d);
- EXPECT(d == g_AllDirections[i]);
- }
-}
-
-
-
-
-
-/** Tests that no two values are rotated onto the same destination value. */
-template <class Fn>
-static void testPermutation(Fn & a_Fn)
-{
- std::map<cPiece::cConnector::eDirection, int> numDest;
- for (size_t i = 0; i < ARRAYCOUNT(g_AllDirections); ++i)
- {
- auto d = a_Fn(g_AllDirections[i]);
- EXPECT(numDest[d] == 0);
- numDest[d] = 1;
- }
-}
-
-
-
-
-
-int main(void)
-{
- LOG("PieceRotation test starting.");
- try
- {
- testBackAndForth();
- testFullRotation();
- testPermutation(cPiece::cConnector::RotateDirection);
- testPermutation(cPiece::cConnector::RotateDirectionCW);
- testPermutation(cPiece::cConnector::RotateDirectionCCW);
- }
- catch (const cTestFailure & f)
- {
- LOGERROR("Test failed:\tExpression: %s\n\tFile: %s (%d)", f.m_Expression.c_str(), f.m_FileName.c_str(), f.m_Line);
- return 1;
- }
- catch (const std::exception & exc)
- {
- LOGERROR("Exception caught: %s", exc.what());
- return 2;
- }
- LOG("PieceRotation test succeeded.");
- return 0;
-}
-
-
-
-
diff --git a/tests/PieceRotation/Stubs.cpp b/tests/PieceRotation/Stubs.cpp
deleted file mode 100644
index 0ad3eb365..000000000
--- a/tests/PieceRotation/Stubs.cpp
+++ /dev/null
@@ -1,290 +0,0 @@
-
-// Stubs.cpp
-
-// Implements stubs of various Cuberite methods that are needed for linking but not for runtime
-// This is required so that we don't bring in the entire Cuberite via dependencies
-
-#include "Globals.h"
-#include "BlockInfo.h"
-#include "Bindings.h"
-#include "Bindings/DeprecatedBindings.h"
-#include "Bindings/LuaJson.h"
-#include "Bindings/ManualBindings.h"
-#include "BlockEntities/BlockEntity.h"
-#include "Blocks/BlockHandler.h"
-#include "Generating/ChunkDesc.h"
-#include "DeadlockDetect.h"
-
-
-
-
-
-// fwd:
-struct lua_State;
-
-
-
-
-
-// Prototypes, needed by clang:
-extern "C" int luaopen_lsqlite3(lua_State * a_LuaState);
-extern "C" int luaopen_lxp(lua_State * a_LuaState);
-
-
-
-
-
-void cManualBindings::Bind(lua_State * a_LuaState)
-{
-}
-
-
-
-
-
-void DeprecatedBindings::Bind(lua_State * a_LuaState)
-{
-}
-
-
-
-
-
-void cLuaJson::Bind(cLuaState & a_LuaState)
-{
-}
-
-
-
-
-
-int tolua_AllToLua_open(lua_State * a_LuaState)
-{
- return 0;
-}
-
-
-
-
-
-extern "C" int luaopen_lsqlite3(lua_State * a_LuaState)
-{
- return 0;
-}
-
-
-
-
-
-extern "C" int luaopen_lxp(lua_State * a_LuaState)
-{
- return 0;
-}
-
-
-
-
-
-cBlockInfo::~cBlockInfo()
-{
-}
-
-
-
-
-
-void cBlockInfo::Initialize(cBlockInfo::cBlockInfoArray & a_BlockInfos)
-{
- // The piece-loading code uses the handlers for rotations, so we need valid handlers
- // Insert dummy handlers:
- for (size_t i = 0; i < ARRAYCOUNT(a_BlockInfos); i++)
- {
- a_BlockInfos[i].m_Handler = new cBlockHandler(static_cast<BLOCKTYPE>(i));
- }
-}
-
-
-
-
-
-cBlockHandler::cBlockHandler(BLOCKTYPE a_BlockType)
-{
-}
-
-
-
-
-
-bool cBlockHandler::GetPlacementBlockTypeMeta(
- cChunkInterface & a_ChunkInterface, cPlayer * a_Player,
- int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace,
- int a_CursorX, int a_CursorY, int a_CursorZ,
- BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta
-)
-{
- return true;
-}
-
-
-
-
-
-void cBlockHandler::OnUpdate(cChunkInterface & cChunkInterface, cWorldInterface & a_WorldInterface, cBlockPluginInterface & a_PluginInterface, cChunk & a_Chunk, int a_BlockX, int a_BlockY, int a_BlockZ)
-{
-}
-
-
-
-
-
-void cBlockHandler::OnPlacedByPlayer(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cPlayer * a_Player, const sSetBlock & a_BlockChange)
-{
-}
-
-
-
-
-
-void cBlockHandler::OnDestroyedByPlayer(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ)
-{
-}
-
-
-
-
-
-void cBlockHandler::OnPlaced(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta)
-{
-}
-
-
-
-
-
-void cBlockHandler::OnDestroyed(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, int a_BlockX, int a_BlockY, int a_BlockZ)
-{
-}
-
-
-
-
-
-void cBlockHandler::NeighborChanged(cChunkInterface & a_ChunkInterface, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_WhichNeighbor)
-{
-}
-
-
-
-
-
-void cBlockHandler::ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta)
-{
-}
-
-
-
-
-
-void cBlockHandler::DropBlock(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cBlockPluginInterface & a_BlockPluginInterface, cEntity * a_Digger, int a_BlockX, int a_BlockY, int a_BlockZ, bool a_CanDrop)
-{
-}
-
-
-
-
-
-bool cBlockHandler::CanBeAt(cChunkInterface & a_ChunkInterface, int a_BlockX, int a_BlockY, int a_BlockZ, const cChunk & a_Chunk)
-{
- return true;
-}
-
-
-
-
-
-bool cBlockHandler::IsUseable()
-{
- return false;
-}
-
-
-
-
-
-bool cBlockHandler::IsClickedThrough(void)
-{
- return false;
-}
-
-
-
-
-
-bool cBlockHandler::DoesIgnoreBuildCollision(void)
-{
- return (m_BlockType == E_BLOCK_AIR);
-}
-
-
-
-
-
-bool cBlockHandler::DoesDropOnUnsuitable(void)
-{
- return true;
-}
-
-
-
-
-
-void cBlockHandler::Check(cChunkInterface & a_ChunkInterface, cBlockPluginInterface & a_PluginInterface, int a_RelX, int a_RelY, int a_RelZ, cChunk & a_Chunk)
-{
-}
-
-
-
-
-
-ColourID cBlockHandler::GetMapBaseColourID(NIBBLETYPE a_Meta)
-{
- return 0;
-}
-
-
-
-
-
-bool cBlockHandler::IsInsideBlock(const Vector3d & a_Position, const BLOCKTYPE a_BlockType, const NIBBLETYPE a_BlockMeta)
-{
- return true;
-}
-
-
-
-
-
-cBlockEntity * cBlockEntity::CreateByBlockType(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, int a_BlockX, int a_BlockY, int a_BlockZ, cWorld * a_World)
-{
- return nullptr;
-}
-
-
-
-
-
-void cDeadlockDetect::TrackCriticalSection(cCriticalSection & a_CS, const AString & a_Name)
-{
-}
-
-
-
-
-
-void cDeadlockDetect::UntrackCriticalSection(cCriticalSection & a_CS)
-{
-}
-
-
-
-