This commit is contained in:
ebbit1q 2025-10-02 19:44:11 +02:00
parent b6c5c5ea4c
commit 70963ae016

View file

@ -1,15 +1,16 @@
#include "../../common/decklist.h" #include "../../common/decklist.h"
#include<QDebug>
#include "gtest/gtest.h" #include "gtest/gtest.h"
#include <QDebug>
QString bigDeck; QString bigDeck;
TEST(DeckHashTest, RepeatTest) TEST(DeckHashTest, RepeatTest)
{ {
DeckList decklist(R"(<?xml version="1.0"?><cockatrice_deck version="1"><deckname></deckname><comments></comments><zone name="main"><card number="1" name="Mountain"/><card number="2" name="Island"/></zone><zone name="side"><card number="3" name="Forest"/></zone></cockatrice_deck>)"); DeckList decklist(
for (int i = 0; i < 1e6; ++i){ // repeat hashing a million times R"(<?xml version="1.0"?><cockatrice_deck version="1"><deckname></deckname><comments></comments><zone name="main"><card number="1" name="Mountain"/><card number="2" name="Island"/></zone><zone name="side"><card number="3" name="Forest"/></zone></cockatrice_deck>)");
decklist.updateDeckHash(); for (int i = 0; i < 1e6; ++i) { // repeat hashing a million times
decklist.updateDeckHash();
} }
auto hash = decklist.getDeckHash().toStdString(); auto hash = decklist.getDeckHash().toStdString();
ASSERT_EQ(hash, "5cac19qm") << "The hash matches"; ASSERT_EQ(hash, "5cac19qm") << "The hash matches";
@ -17,7 +18,8 @@ TEST(DeckHashTest, RepeatTest)
TEST(DeckHashTest, NumberTest) TEST(DeckHashTest, NumberTest)
{ {
DeckList decklist(R"(<?xml version="1.0"?><cockatrice_deck version="1"><deckname></deckname><comments></comments><zone name="main"><card number="1000000" name="Island"/></zone></cockatrice_deck>)"); DeckList decklist(
R"(<?xml version="1.0"?><cockatrice_deck version="1"><deckname></deckname><comments></comments><zone name="main"><card number="1000000" name="Island"/></zone></cockatrice_deck>)");
auto hash = decklist.getDeckHash().toStdString(); auto hash = decklist.getDeckHash().toStdString();
ASSERT_EQ(hash, "2k8cdi4s") << "The hash matches"; ASSERT_EQ(hash, "2k8cdi4s") << "The hash matches";
} }
@ -31,13 +33,14 @@ TEST(DeckHashTest, UniquesTest)
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
QStringList deckString; QStringList deckString;
deckString << R"(<?xml version="1.0"?><cockatrice_deck version="1"><deckname></deckname><comments></comments><zone name="main"><card number="1" name="card 0)"; deckString
for (int i = 1; i < 1e6; ++i){ // add a million unique cards << R"(<?xml version="1.0"?><cockatrice_deck version="1"><deckname></deckname><comments></comments><zone name="main"><card number="1" name="card 0)";
deckString << R"("/><card number="1" name="card )" + QString::number(i); for (int i = 1; i < 1e6; ++i) { // add a million unique cards
} deckString << R"("/><card number="1" name="card )" + QString::number(i);
deckString << R"("/></zone></cockatrice_deck>)"; }
bigDeck = deckString.join(""); deckString << R"("/></zone></cockatrice_deck>)";
bigDeck = deckString.join("");
::testing::InitGoogleTest(&argc, argv); ::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS(); return RUN_ALL_TESTS();