public void FromValidDeckFile() { var zooLockDeckFile = Path.Combine(DeckTestDataPath, "ZooLock.txt"); var actualDeck = Deck.FromDeckFile(zooLockDeckFile); HearthEntityFactory.Reset(); var expectedDeck = new Deck(new List <BaseCard>() { HearthEntityFactory.CreateCard <Soulfire>(), HearthEntityFactory.CreateCard <Soulfire>(), HearthEntityFactory.CreateCard <AbusiveSergeant>(), HearthEntityFactory.CreateCard <AbusiveSergeant>(), HearthEntityFactory.CreateCard <ArgentSquire>(), HearthEntityFactory.CreateCard <ArgentSquire>(), HearthEntityFactory.CreateCard <ElvenArcher>(), HearthEntityFactory.CreateCard <FlameImp>(), HearthEntityFactory.CreateCard <FlameImp>(), HearthEntityFactory.CreateCard <Voidwalker>(), HearthEntityFactory.CreateCard <Voidwalker>(), HearthEntityFactory.CreateCard <DireWolfAlpha>(), HearthEntityFactory.CreateCard <DireWolfAlpha>(), HearthEntityFactory.CreateCard <KnifeJuggler>(), HearthEntityFactory.CreateCard <KnifeJuggler>(), HearthEntityFactory.CreateCard <LorewalkerCho>(), HearthEntityFactory.CreateCard <BloodKnight>(), HearthEntityFactory.CreateCard <HarvestGolem>(), HearthEntityFactory.CreateCard <HarvestGolem>(), HearthEntityFactory.CreateCard <ScarletCrusader>(), HearthEntityFactory.CreateCard <ScarletCrusader>(), HearthEntityFactory.CreateCard <ShatteredSunCleric>(), HearthEntityFactory.CreateCard <ShatteredSunCleric>(), HearthEntityFactory.CreateCard <DarkIronDwarf>(), HearthEntityFactory.CreateCard <DarkIronDwarf>(), HearthEntityFactory.CreateCard <DefenderofArgus>(), HearthEntityFactory.CreateCard <DefenderofArgus>(), HearthEntityFactory.CreateCard <Doomguard>(), HearthEntityFactory.CreateCard <Doomguard>(), HearthEntityFactory.CreateCard <ArgentCommander>() }); Assert.IsTrue(actualDeck.Cards.SequenceEqual(expectedDeck.Cards), "Verify the generated deck is the same."); }