mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-04-16 17:42:31 +00:00
Adjust unit tests
This commit is contained in:
parent
d3c1928f01
commit
09147934fb
@ -328,7 +328,7 @@ namespace CSMWorld
|
|||||||
EXPECT_THAT(infoOrder.find(dialogue.mId)->second.getOrderedInfo(), ElementsAre(InfoId(info.mValue.mId)));
|
EXPECT_THAT(infoOrder.find(dialogue.mId)->second.getOrderedInfo(), ElementsAre(InfoId(info.mValue.mId)));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(CSMWorldInfoCollectionTest, sortShouldOrderRecordsBasedOnPrevAndNext)
|
TEST(CSMWorldInfoCollectionTest, sortShouldOrderRecordsBasedOnPrev)
|
||||||
{
|
{
|
||||||
const DialogueData<ESM::DialInfo> data = generateDialogueWithInfos(3);
|
const DialogueData<ESM::DialInfo> data = generateDialogueWithInfos(3);
|
||||||
|
|
||||||
@ -345,7 +345,7 @@ namespace CSMWorld
|
|||||||
EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info2")), 2);
|
EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info2")), 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(CSMWorldInfoCollectionTest, sortShouldOrderRecordsBasedOnPrevAndNextWhenReversed)
|
TEST(CSMWorldInfoCollectionTest, sortShouldOrderRecordsBasedOnPrevWhenReversed)
|
||||||
{
|
{
|
||||||
DialogueData<ESM::DialInfo> data = generateDialogueWithInfos(3);
|
DialogueData<ESM::DialInfo> data = generateDialogueWithInfos(3);
|
||||||
|
|
||||||
@ -360,8 +360,8 @@ namespace CSMWorld
|
|||||||
|
|
||||||
EXPECT_EQ(collection.getSize(), 3);
|
EXPECT_EQ(collection.getSize(), 3);
|
||||||
EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info0")), 0);
|
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")), 1);
|
||||||
EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info2")), 2);
|
EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info1")), 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(CSMWorldInfoCollectionTest, sortShouldInsertNewRecordBasedOnPrev)
|
TEST(CSMWorldInfoCollectionTest, sortShouldInsertNewRecordBasedOnPrev)
|
||||||
@ -391,33 +391,6 @@ namespace CSMWorld
|
|||||||
EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info2")), 3);
|
EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info2")), 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(CSMWorldInfoCollectionTest, sortShouldInsertNewRecordBasedOnNextWhenPrevIsNotFound)
|
|
||||||
{
|
|
||||||
const bool base = true;
|
|
||||||
InfoOrderByTopic infoOrder;
|
|
||||||
InfoCollection collection;
|
|
||||||
|
|
||||||
const DialogueData<ESM::DialInfo> 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)
|
TEST(CSMWorldInfoCollectionTest, sortShouldInsertNewRecordToFrontWhenPrevIsEmpty)
|
||||||
{
|
{
|
||||||
const bool base = true;
|
const bool base = true;
|
||||||
@ -444,7 +417,7 @@ namespace CSMWorld
|
|||||||
EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info2")), 3);
|
EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info2")), 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(CSMWorldInfoCollectionTest, sortShouldInsertNewRecordToBackWhenNextIsEmpty)
|
TEST(CSMWorldInfoCollectionTest, sortShouldInsertNewRecordToBackWhenPrevIsNotFound)
|
||||||
{
|
{
|
||||||
const bool base = true;
|
const bool base = true;
|
||||||
InfoOrderByTopic infoOrder;
|
InfoOrderByTopic infoOrder;
|
||||||
@ -539,7 +512,7 @@ namespace CSMWorld
|
|||||||
EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info2")), 0);
|
EXPECT_EQ(collection.searchId(ESM::RefId::stringRefId("dialogue#info2")), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(CSMWorldInfoCollectionTest, sortShouldMoveToBackUpdatedRecordWhenNextIsEmpty)
|
TEST(CSMWorldInfoCollectionTest, sortShouldMoveToBackUpdatedRecordWhenPrevIsNotFound)
|
||||||
{
|
{
|
||||||
const bool base = true;
|
const bool base = true;
|
||||||
InfoOrderByTopic infoOrder;
|
InfoOrderByTopic infoOrder;
|
||||||
|
@ -690,7 +690,7 @@ namespace
|
|||||||
EXPECT_THAT(dialogue->mInfo, ElementsAre(HasIdEqualTo("info0"), HasIdEqualTo("info1"), HasIdEqualTo("info2")));
|
EXPECT_THAT(dialogue->mInfo, ElementsAre(HasIdEqualTo("info0"), HasIdEqualTo("info1"), HasIdEqualTo("info2")));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(MWWorldStoreTest, shouldLoadDialogueWithInfosAndOrderWhenReversed)
|
TEST(MWWorldStoreTest, shouldIgnoreNextWhenLoadingDialogueInfos)
|
||||||
{
|
{
|
||||||
DialogueData data = generateDialogueWithInfos(3);
|
DialogueData data = generateDialogueWithInfos(3);
|
||||||
|
|
||||||
@ -702,7 +702,7 @@ namespace
|
|||||||
|
|
||||||
const ESM::Dialogue* dialogue = esmStore.get<ESM::Dialogue>().search(ESM::RefId::stringRefId("dialogue"));
|
const ESM::Dialogue* dialogue = esmStore.get<ESM::Dialogue>().search(ESM::RefId::stringRefId("dialogue"));
|
||||||
ASSERT_NE(dialogue, nullptr);
|
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)
|
TEST(MWWorldStoreTest, shouldLoadDialogueWithInfosInsertingNewRecordBasedOnPrev)
|
||||||
@ -801,6 +801,7 @@ namespace
|
|||||||
|
|
||||||
ESM::DialInfo updatedInfo = data.mInfos[0];
|
ESM::DialInfo updatedInfo = data.mInfos[0];
|
||||||
updatedInfo.mPrev = data.mInfos[2].mId;
|
updatedInfo.mPrev = data.mInfos[2].mId;
|
||||||
|
updatedInfo.mActor = ESM::RefId::stringRefId("newActor");
|
||||||
|
|
||||||
loadEsmStore(1, saveDialogueWithInfos(data.mDialogue, std::array{ updatedInfo }), esmStore);
|
loadEsmStore(1, saveDialogueWithInfos(data.mDialogue, std::array{ updatedInfo }), esmStore);
|
||||||
|
|
||||||
@ -809,6 +810,7 @@ namespace
|
|||||||
const ESM::Dialogue* dialogue = esmStore.get<ESM::Dialogue>().search(ESM::RefId::stringRefId("dialogue"));
|
const ESM::Dialogue* dialogue = esmStore.get<ESM::Dialogue>().search(ESM::RefId::stringRefId("dialogue"));
|
||||||
ASSERT_NE(dialogue, nullptr);
|
ASSERT_NE(dialogue, nullptr);
|
||||||
EXPECT_THAT(dialogue->mInfo, ElementsAre(HasIdEqualTo("info1"), HasIdEqualTo("info2"), HasIdEqualTo("info0")));
|
EXPECT_THAT(dialogue->mInfo, ElementsAre(HasIdEqualTo("info1"), HasIdEqualTo("info2"), HasIdEqualTo("info0")));
|
||||||
|
EXPECT_EQ(std::prev(dialogue->mInfo.end())->mActor, "newActor");
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(MWWorldStoreTest, shouldLoadDialogueWithInfosMovingBackwardExistingRecordBasedOnPrev)
|
TEST(MWWorldStoreTest, shouldLoadDialogueWithInfosMovingBackwardExistingRecordBasedOnPrev)
|
||||||
@ -820,6 +822,7 @@ namespace
|
|||||||
|
|
||||||
ESM::DialInfo updatedInfo = data.mInfos[2];
|
ESM::DialInfo updatedInfo = data.mInfos[2];
|
||||||
updatedInfo.mPrev = data.mInfos[0].mId;
|
updatedInfo.mPrev = data.mInfos[0].mId;
|
||||||
|
updatedInfo.mActor = ESM::RefId::stringRefId("newActor");
|
||||||
|
|
||||||
loadEsmStore(1, saveDialogueWithInfos(data.mDialogue, std::array{ updatedInfo }), esmStore);
|
loadEsmStore(1, saveDialogueWithInfos(data.mDialogue, std::array{ updatedInfo }), esmStore);
|
||||||
|
|
||||||
@ -828,5 +831,6 @@ namespace
|
|||||||
const ESM::Dialogue* dialogue = esmStore.get<ESM::Dialogue>().search(ESM::RefId::stringRefId("dialogue"));
|
const ESM::Dialogue* dialogue = esmStore.get<ESM::Dialogue>().search(ESM::RefId::stringRefId("dialogue"));
|
||||||
ASSERT_NE(dialogue, nullptr);
|
ASSERT_NE(dialogue, nullptr);
|
||||||
EXPECT_THAT(dialogue->mInfo, ElementsAre(HasIdEqualTo("info0"), HasIdEqualTo("info2"), HasIdEqualTo("info1")));
|
EXPECT_THAT(dialogue->mInfo, ElementsAre(HasIdEqualTo("info0"), HasIdEqualTo("info2"), HasIdEqualTo("info1")));
|
||||||
|
EXPECT_EQ(std::next(dialogue->mInfo.begin())->mActor, "newActor");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user