mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-13 13:30:00 -08:00
Add sixteen server-synchronized Essence resource pools per match player
This commit is contained in:
parent
00a7feff25
commit
a969e4622c
12 changed files with 466 additions and 13 deletions
|
|
@ -1,6 +1,7 @@
|
|||
#include <gtest/gtest.h>
|
||||
#include <libcockatrice/card/card_info.h>
|
||||
#include <libcockatrice/card/essence_types.h>
|
||||
#include <libcockatrice/utility/essence_counter.h>
|
||||
|
||||
#include <QHash>
|
||||
#include <QString>
|
||||
|
|
@ -15,6 +16,28 @@ TEST(EssenceTypesTest, HasExactlySixteenCanonicalSymbols)
|
|||
EXPECT_FALSE(Essence::isSymbol(QChar('U'))); // MTG blue is not Essence.
|
||||
}
|
||||
|
||||
TEST(EssenceTypesTest, NetworkCounterNamesHaveStableRoundTrip)
|
||||
{
|
||||
EXPECT_EQ(Essence::symbols(), EssenceCounter::symbols());
|
||||
int position = 1; // Counter id 0 is the existing life counter.
|
||||
for (const QChar code : EssenceCounter::symbols()) {
|
||||
const QString networkName = EssenceCounter::name(code);
|
||||
EXPECT_TRUE(networkName.startsWith(QStringLiteral("essence:")));
|
||||
EXPECT_EQ(EssenceCounter::codeFromName(networkName), code);
|
||||
EXPECT_TRUE(EssenceCounter::isEssenceCounter(networkName));
|
||||
++position;
|
||||
}
|
||||
EXPECT_EQ(position, 17);
|
||||
EXPECT_TRUE(EssenceCounter::name(QChar('W')).isEmpty());
|
||||
EXPECT_FALSE(EssenceCounter::isEssenceCounter(QStringLiteral("essence:W")));
|
||||
EXPECT_FALSE(EssenceCounter::isEssenceCounter(QStringLiteral("essence:MM")));
|
||||
EXPECT_FALSE(EssenceCounter::isEssenceCounter(QStringLiteral("life")));
|
||||
EXPECT_EQ(EssenceCounter::clampBalance(-1), 0);
|
||||
EXPECT_EQ(EssenceCounter::clampBalance(-900), 0);
|
||||
EXPECT_EQ(EssenceCounter::clampBalance(0), 0);
|
||||
EXPECT_EQ(EssenceCounter::clampBalance(19), 19);
|
||||
}
|
||||
|
||||
TEST(EssenceTypesTest, ParsesAllBracedAndUnbracedTypes)
|
||||
{
|
||||
const QString raw = QStringLiteral("{M}{S}{O}{G}{E}{A}{Q}{C}{J}{B}{R}{L}{V}{T}{P}{N}");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue