From 09147934fbadeb8d12fc4c6fa454532a0de3867f Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 9 Jul 2023 18:48:14 +0200 Subject: [PATCH] Adjust unit tests --- .../model/world/testinfocollection.cpp | 39 +++---------------- apps/openmw_test_suite/mwworld/test_store.cpp | 8 +++- 2 files changed, 12 insertions(+), 35 deletions(-) diff --git a/apps/opencs_tests/model/world/testinfocollection.cpp b/apps/opencs_tests/model/world/testinfocollection.cpp index 7065fa80ba..6bd0694b34 100644 --- a/apps/opencs_tests/model/world/testinfocollection.cpp +++ b/apps/opencs_tests/model/world/testinfocollection.cpp @@ -328,7 +328,7 @@ namespace CSMWorld EXPECT_THAT(infoOrder.find(dialogue.mId)->second.getOrderedInfo(), ElementsAre(InfoId(info.mValue.mId))); } - TEST(CSMWorldInfoCollectionTest, sortShouldOrderRecordsBasedOnPrevAndNext) + TEST(CSMWorldInfoCollectionTest, sortShouldOrderRecordsBasedOnPrev) { const DialogueData data = generateDialogueWithInfos(3); @@ -345,7 +345,7 @@ namespace CSMWorld EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info2")), 2); } - TEST(CSMWorldInfoCollectionTest, sortShouldOrderRecordsBasedOnPrevAndNextWhenReversed) + TEST(CSMWorldInfoCollectionTest, sortShouldOrderRecordsBasedOnPrevWhenReversed) { DialogueData data = generateDialogueWithInfos(3); @@ -360,8 +360,8 @@ namespace CSMWorld EXPECT_EQ(collection.getSize(), 3); EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info0")), 0); - EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info1")), 1); - EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info2")), 2); + EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info2")), 1); + EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info1")), 2); } TEST(CSMWorldInfoCollectionTest, sortShouldInsertNewRecordBasedOnPrev) @@ -391,33 +391,6 @@ namespace CSMWorld EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info2")), 3); } - TEST(CSMWorldInfoCollectionTest, sortShouldInsertNewRecordBasedOnNextWhenPrevIsNotFound) - { - const bool base = true; - InfoOrderByTopic infoOrder; - InfoCollection collection; - - const DialogueData data = generateDialogueWithInfos(3); - - saveAndLoadDialogueWithInfos(data, base, collection, infoOrder); - - ESM::DialInfo newInfo; - newInfo.blank(); - newInfo.mId = ESM::RefId::stringRefId("newInfo"); - newInfo.mPrev = ESM::RefId::stringRefId("invalid"); - newInfo.mNext = data.mInfos[2].mId; - - saveAndLoadDialogueWithInfos(data.mDialogue, std::array{ newInfo }, base, collection, infoOrder); - - collection.sort(infoOrder); - - EXPECT_EQ(collection.getSize(), 4); - EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info0")), 0); - EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info1")), 1); - EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#newInfo")), 2); - EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info2")), 3); - } - TEST(CSMWorldInfoCollectionTest, sortShouldInsertNewRecordToFrontWhenPrevIsEmpty) { const bool base = true; @@ -444,7 +417,7 @@ namespace CSMWorld EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info2")), 3); } - TEST(CSMWorldInfoCollectionTest, sortShouldInsertNewRecordToBackWhenNextIsEmpty) + TEST(CSMWorldInfoCollectionTest, sortShouldInsertNewRecordToBackWhenPrevIsNotFound) { const bool base = true; InfoOrderByTopic infoOrder; @@ -539,7 +512,7 @@ namespace CSMWorld EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info2")), 0); } - TEST(CSMWorldInfoCollectionTest, sortShouldMoveToBackUpdatedRecordWhenNextIsEmpty) + TEST(CSMWorldInfoCollectionTest, sortShouldMoveToBackUpdatedRecordWhenPrevIsNotFound) { const bool base = true; InfoOrderByTopic infoOrder; diff --git a/apps/openmw_test_suite/mwworld/test_store.cpp b/apps/openmw_test_suite/mwworld/test_store.cpp index 2b5e460627..5edbaf7acd 100644 --- a/apps/openmw_test_suite/mwworld/test_store.cpp +++ b/apps/openmw_test_suite/mwworld/test_store.cpp @@ -690,7 +690,7 @@ namespace EXPECT_THAT(dialogue->mInfo, ElementsAre(HasIdEqualTo("info0"), HasIdEqualTo("info1"), HasIdEqualTo("info2"))); } - TEST(MWWorldStoreTest, shouldLoadDialogueWithInfosAndOrderWhenReversed) + TEST(MWWorldStoreTest, shouldIgnoreNextWhenLoadingDialogueInfos) { DialogueData data = generateDialogueWithInfos(3); @@ -702,7 +702,7 @@ namespace const ESM::Dialogue* dialogue = esmStore.get().search(ESM::RefId::stringRefId("dialogue")); ASSERT_NE(dialogue, nullptr); - EXPECT_THAT(dialogue->mInfo, ElementsAre(HasIdEqualTo("info0"), HasIdEqualTo("info1"), HasIdEqualTo("info2"))); + EXPECT_THAT(dialogue->mInfo, ElementsAre(HasIdEqualTo("info0"), HasIdEqualTo("info2"), HasIdEqualTo("info1"))); } TEST(MWWorldStoreTest, shouldLoadDialogueWithInfosInsertingNewRecordBasedOnPrev) @@ -801,6 +801,7 @@ namespace ESM::DialInfo updatedInfo = data.mInfos[0]; updatedInfo.mPrev = data.mInfos[2].mId; + updatedInfo.mActor = ESM::RefId::stringRefId("newActor"); loadEsmStore(1, saveDialogueWithInfos(data.mDialogue, std::array{ updatedInfo }), esmStore); @@ -809,6 +810,7 @@ namespace const ESM::Dialogue* dialogue = esmStore.get().search(ESM::RefId::stringRefId("dialogue")); ASSERT_NE(dialogue, nullptr); EXPECT_THAT(dialogue->mInfo, ElementsAre(HasIdEqualTo("info1"), HasIdEqualTo("info2"), HasIdEqualTo("info0"))); + EXPECT_EQ(std::prev(dialogue->mInfo.end())->mActor, "newActor"); } TEST(MWWorldStoreTest, shouldLoadDialogueWithInfosMovingBackwardExistingRecordBasedOnPrev) @@ -820,6 +822,7 @@ namespace ESM::DialInfo updatedInfo = data.mInfos[2]; updatedInfo.mPrev = data.mInfos[0].mId; + updatedInfo.mActor = ESM::RefId::stringRefId("newActor"); loadEsmStore(1, saveDialogueWithInfos(data.mDialogue, std::array{ updatedInfo }), esmStore); @@ -828,5 +831,6 @@ namespace const ESM::Dialogue* dialogue = esmStore.get().search(ESM::RefId::stringRefId("dialogue")); ASSERT_NE(dialogue, nullptr); EXPECT_THAT(dialogue->mInfo, ElementsAre(HasIdEqualTo("info0"), HasIdEqualTo("info2"), HasIdEqualTo("info1"))); + EXPECT_EQ(std::next(dialogue->mInfo.begin())->mActor, "newActor"); } }