Exemplo n.º 1
0
        public void TroopFactorySetup()
        {
            troopTypes = new Dictionary <string, TroopType>();
            string    json   = "{ 'Id':1,'Name':'Monkey','Type':'Ground','Damage':'6','Health':'50','PreferredTarget':'Ground','Template':'Basic'}";
            TroopType monkey = TroopReader.ReadJson(json);

            troopTypes.Add(monkey.Name, monkey);
        }
Exemplo n.º 2
0
        public void ReadTroopsTest()
        {
            string      path   = TestContext.CurrentContext.TestDirectory;
            TroopReader reader = new TroopReader(path);
            Dictionary <string, TroopType> troopTypes = reader.Read();

            Assert.AreEqual(troopTypes.Count, 4);
        }
Exemplo n.º 3
0
        public void ReadTemplateTest_NoBaseTroopError()
        {
            string contents = File.ReadAllText(flyingMonkeyJson);

            //Setup base monkey troop
            TroopReader    troopReader = new TroopReader();
            TemplateReader reader      = new TemplateReader(contents, troopReader.TroopTypes);

            Assert.Throws <InvalidOperationException>(() =>
            {
                TroopType flyingMonkey = reader.Read();
            });
        }
Exemplo n.º 4
0
        public void CreateTroop_Valid()
        {
            Dictionary <string, TroopType> troopTypes = new Dictionary <string, TroopType>();
            string    json   = "{ 'Id':1,'Name':'Monkey','Type':'Ground','Damage':'6','Health':'50','PreferredTarget':'Ground','Template':'Basic'}";
            TroopType monkey = TroopReader.ReadJson(json);

            troopTypes.Add(monkey.Name, monkey);

            TroopFactory factory = new TroopFactory(troopTypes);
            Troop        t       = factory.Create("Monkey");

            Assert.AreEqual(t.Info, monkey);
            Assert.AreEqual(t.CurrentHealth, monkey.Health);
        }
Exemplo n.º 5
0
        public static TroopFactory Create()
        {
            Dictionary <string, TroopType> troopTypes = new Dictionary <string, TroopType>();
            string monkeyJ  = "{ 'Id':1,'Name':'Monkey','Type':'Ground','Damage':'6','Health':'50','PreferredTarget':'Ground','Template':'Basic'}";
            string wizardJ  = "{ 'Id':2,'Name':'Wizard','Type':'Ground','Damage':'6','Health':'60','PreferredTarget':'All','Template':'Basic'}";
            string balloonJ = "{ 'Id':3,'Name':'Balloon','Type':'Air','Damage':'8','Health':'55','PreferredTarget':'Ground','Template':'Basic'}";
            string fmonkeyJ = "{ 'Id':4,'Name':'Flying Monkey','Type':'Air','Damage':'6','Health':'50','PreferredTarget':'Air','Template':'Subtype'}";

            troopTypes.Add("Monkey", TroopReader.ReadJson(monkeyJ));
            troopTypes.Add("Wizard", TroopReader.ReadJson(wizardJ));
            troopTypes.Add("Flying Monkey", TroopReader.ReadJson(fmonkeyJ));
            troopTypes.Add("Balloon", TroopReader.ReadJson(balloonJ));

            TroopFactory factory = new TroopFactory(troopTypes);

            return(factory);
        }
Exemplo n.º 6
0
        public void ReadTemplateTest_Valid()
        {
            string monkeyData = File.ReadAllText(monkeyJson);
            string contents   = File.ReadAllText(flyingMonkeyJson);

            //Setup base monkey troop
            TroopReader troopReader = new TroopReader();

            troopReader.AddJson(monkeyData);
            TroopType monkey = troopReader.TroopTypes["Monkey"];


            TemplateReader reader       = new TemplateReader(contents, troopReader.TroopTypes);
            TroopType      flyingMonkey = reader.Read();

            Assert.AreEqual(flyingMonkey.Damage, monkey.Damage);
            Assert.AreEqual(flyingMonkey.Health, monkey.Health);
            Assert.AreEqual(flyingMonkey.Type, "Air");
            Assert.AreEqual(flyingMonkey.PreferredTarget, "Air");
        }
Exemplo n.º 7
0
        static void Main(string[] args)
        {
            TroopReader troopReader = new TroopReader();

            troopTypes = troopReader.Read();

            TroopFactory troopFactory = new TroopFactory(troopTypes);
            ArmyReader   armyReader   = new ArmyReader(troopFactory);

            armies = armyReader.Read();

            PrintArmy("Good Army");
            Console.WriteLine();
            PrintArmy("Bad Army");

            Army            a   = armies["Good Army"];
            Army            b   = armies["Bad Army"];
            BattleSimulator sim = new BattleSimulator(a, b);

            sim.Battle();
            Console.WriteLine(sim.Result);
            Console.ReadLine();
        }