mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-02-20 19:39:41 +00:00
Merge branch 'detour_navigator_unit_test_fix' into 'master'
Fix DetourNavigatorNavMeshTilesCacheTest on Windows See merge request OpenMW/openmw!65
This commit is contained in:
commit
8e3b10b5b4
1 changed files with 20 additions and 12 deletions
|
@ -34,6 +34,14 @@ namespace
|
|||
const std::vector<OffMeshConnection> mOffMeshConnections {};
|
||||
unsigned char* const mData = reinterpret_cast<unsigned char*>(dtAlloc(1, DT_ALLOC_PERM));
|
||||
NavMeshData mNavMeshData {mData, 1};
|
||||
|
||||
const size_t cRecastMeshKeySize = mRecastMesh.getIndices().size() * sizeof(int)
|
||||
+ mRecastMesh.getVertices().size() * sizeof(float)
|
||||
+ mRecastMesh.getAreaTypes().size() * sizeof(AreaType)
|
||||
+ mRecastMesh.getWater().size() * sizeof(RecastMesh::Water)
|
||||
+ mOffMeshConnections.size() * sizeof(OffMeshConnection);
|
||||
|
||||
const size_t cRecastMeshWithWaterKeySize = cRecastMeshKeySize + sizeof(RecastMesh::Water);
|
||||
};
|
||||
|
||||
TEST_F(DetourNavigatorNavMeshTilesCacheTest, get_for_empty_cache_should_return_empty_value)
|
||||
|
@ -56,7 +64,7 @@ namespace
|
|||
TEST_F(DetourNavigatorNavMeshTilesCacheTest, set_should_return_cached_value)
|
||||
{
|
||||
const std::size_t navMeshDataSize = 1;
|
||||
const std::size_t navMeshKeySize = 49;
|
||||
const std::size_t navMeshKeySize = cRecastMeshKeySize;
|
||||
const std::size_t maxSize = navMeshDataSize + 2 * navMeshKeySize;
|
||||
NavMeshTilesCache cache(maxSize);
|
||||
|
||||
|
@ -69,7 +77,7 @@ namespace
|
|||
TEST_F(DetourNavigatorNavMeshTilesCacheTest, set_existing_element_should_throw_exception)
|
||||
{
|
||||
const std::size_t navMeshDataSize = 1;
|
||||
const std::size_t navMeshKeySize = 49;
|
||||
const std::size_t navMeshKeySize = cRecastMeshKeySize;
|
||||
const std::size_t maxSize = 2 * (navMeshDataSize + 2 * navMeshKeySize);
|
||||
NavMeshTilesCache cache(maxSize);
|
||||
const auto anotherData = reinterpret_cast<unsigned char*>(dtAlloc(1, DT_ALLOC_PERM));
|
||||
|
@ -85,7 +93,7 @@ namespace
|
|||
TEST_F(DetourNavigatorNavMeshTilesCacheTest, get_should_return_cached_value)
|
||||
{
|
||||
const std::size_t navMeshDataSize = 1;
|
||||
const std::size_t navMeshKeySize = 49;
|
||||
const std::size_t navMeshKeySize = cRecastMeshKeySize;
|
||||
const std::size_t maxSize = navMeshDataSize + 2 * navMeshKeySize;
|
||||
NavMeshTilesCache cache(maxSize);
|
||||
|
||||
|
@ -129,7 +137,7 @@ namespace
|
|||
TEST_F(DetourNavigatorNavMeshTilesCacheTest, set_should_replace_unused_value)
|
||||
{
|
||||
const std::size_t navMeshDataSize = 1;
|
||||
const std::size_t navMeshKeySize = 117;
|
||||
const std::size_t navMeshKeySize = cRecastMeshWithWaterKeySize;
|
||||
const std::size_t maxSize = navMeshDataSize + 2 * navMeshKeySize;
|
||||
NavMeshTilesCache cache(maxSize);
|
||||
|
||||
|
@ -149,7 +157,7 @@ namespace
|
|||
TEST_F(DetourNavigatorNavMeshTilesCacheTest, set_should_not_replace_used_value)
|
||||
{
|
||||
const std::size_t navMeshDataSize = 1;
|
||||
const std::size_t navMeshKeySize = 49;
|
||||
const std::size_t navMeshKeySize = cRecastMeshKeySize;
|
||||
const std::size_t maxSize = navMeshDataSize + 2 * navMeshKeySize;
|
||||
NavMeshTilesCache cache(maxSize);
|
||||
|
||||
|
@ -167,7 +175,7 @@ namespace
|
|||
TEST_F(DetourNavigatorNavMeshTilesCacheTest, set_should_replace_unused_least_recently_set_value)
|
||||
{
|
||||
const std::size_t navMeshDataSize = 1;
|
||||
const std::size_t navMeshKeySize = 117;
|
||||
const std::size_t navMeshKeySize = cRecastMeshWithWaterKeySize;
|
||||
const std::size_t maxSize = 2 * (navMeshDataSize + 2 * navMeshKeySize);
|
||||
NavMeshTilesCache cache(maxSize);
|
||||
|
||||
|
@ -199,7 +207,7 @@ namespace
|
|||
TEST_F(DetourNavigatorNavMeshTilesCacheTest, set_should_replace_unused_least_recently_used_value)
|
||||
{
|
||||
const std::size_t navMeshDataSize = 1;
|
||||
const std::size_t navMeshKeySize = 117;
|
||||
const std::size_t navMeshKeySize = cRecastMeshWithWaterKeySize;
|
||||
const std::size_t maxSize = 2 * (navMeshDataSize + 2 * navMeshKeySize);
|
||||
NavMeshTilesCache cache(maxSize);
|
||||
|
||||
|
@ -243,7 +251,7 @@ namespace
|
|||
TEST_F(DetourNavigatorNavMeshTilesCacheTest, set_should_not_replace_unused_least_recently_used_value_when_item_does_not_not_fit_cache_max_size)
|
||||
{
|
||||
const std::size_t navMeshDataSize = 1;
|
||||
const std::size_t navMeshKeySize = 49;
|
||||
const std::size_t navMeshKeySize = cRecastMeshKeySize;
|
||||
const std::size_t maxSize = 2 * (navMeshDataSize + 2 * navMeshKeySize);
|
||||
NavMeshTilesCache cache(maxSize);
|
||||
|
||||
|
@ -261,8 +269,8 @@ namespace
|
|||
TEST_F(DetourNavigatorNavMeshTilesCacheTest, set_should_not_replace_unused_least_recently_used_value_when_item_does_not_not_fit_size_of_unused_items)
|
||||
{
|
||||
const std::size_t navMeshDataSize = 1;
|
||||
const std::size_t navMeshKeySize1 = 49;
|
||||
const std::size_t navMeshKeySize2 = 117;
|
||||
const std::size_t navMeshKeySize1 = cRecastMeshKeySize;
|
||||
const std::size_t navMeshKeySize2 = cRecastMeshWithWaterKeySize;
|
||||
const std::size_t maxSize = 2 * navMeshDataSize + 2 * navMeshKeySize1 + 2 * navMeshKeySize2;
|
||||
NavMeshTilesCache cache(maxSize);
|
||||
|
||||
|
@ -290,7 +298,7 @@ namespace
|
|||
TEST_F(DetourNavigatorNavMeshTilesCacheTest, release_used_after_set_then_used_by_get_item_should_left_this_item_available)
|
||||
{
|
||||
const std::size_t navMeshDataSize = 1;
|
||||
const std::size_t navMeshKeySize = 49;
|
||||
const std::size_t navMeshKeySize = cRecastMeshKeySize;
|
||||
const std::size_t maxSize = navMeshDataSize + 2 * navMeshKeySize;
|
||||
NavMeshTilesCache cache(maxSize);
|
||||
|
||||
|
@ -313,7 +321,7 @@ namespace
|
|||
TEST_F(DetourNavigatorNavMeshTilesCacheTest, release_twice_used_item_should_left_this_item_available)
|
||||
{
|
||||
const std::size_t navMeshDataSize = 1;
|
||||
const std::size_t navMeshKeySize = 49;
|
||||
const std::size_t navMeshKeySize = cRecastMeshKeySize;
|
||||
const std::size_t maxSize = navMeshDataSize + 2 * navMeshKeySize;
|
||||
NavMeshTilesCache cache(maxSize);
|
||||
|
||||
|
|
Loading…
Reference in a new issue