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

View file

@ -1,13 +1,14 @@
#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(
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 for (int i = 0; i < 1e6; ++i) { // repeat hashing a million times
decklist.updateDeckHash(); decklist.updateDeckHash();
} }
@ -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";
} }
@ -32,7 +34,8 @@ 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
<< 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 for (int i = 1; i < 1e6; ++i) { // add a million unique cards
deckString << R"("/><card number="1" name="card )" + QString::number(i); deckString << R"("/><card number="1" name="card )" + QString::number(i);
} }