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<QDebug>
#include "gtest/gtest.h"
#include <QDebug>
QString bigDeck;
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>)");
for (int i = 0; i < 1e6; ++i){ // repeat hashing a million times
decklist.updateDeckHash();
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>)");
for (int i = 0; i < 1e6; ++i) { // repeat hashing a million times
decklist.updateDeckHash();
}
auto hash = decklist.getDeckHash().toStdString();
ASSERT_EQ(hash, "5cac19qm") << "The hash matches";
@ -17,7 +18,8 @@ TEST(DeckHashTest, RepeatTest)
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();
ASSERT_EQ(hash, "2k8cdi4s") << "The hash matches";
}
@ -31,13 +33,14 @@ TEST(DeckHashTest, UniquesTest)
int main(int argc, char **argv)
{
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)";
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("");
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)";
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("");
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();