コード例 #1
0
        public void OneVsOne(string enemyName)
        {
            var myRobot          = "MyBot";
            var enemyRobotNamess = new[]
            {
                enemyName
            };

            var testCase = new BattleTestCase(myRobot, enemyRobotNamess);

            var errors = enemyName == "ErrorBot" ? new[] { "Blah ErrorBot Blah" } : new string[] { };

            var sortedResults = new List <BattleResults>();

            if (enemyName == "LostBot")
            {
                sortedResults.Add(new BattleResults("LostBot", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
            }
            sortedResults.Add(new BattleResults("MyBot", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
            if (enemyName == "WonBot")
            {
                sortedResults.Add(new BattleResults("WonBot", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
            }



            var adapter = new BattleResultAdapter();

            var outcomes = adapter.RecordOutcomes(testCase, sortedResults, errors, true);

            var o = outcomes.Single();

            Assert.AreEqual(BattleType.OneVsOne, o.BattleType);
            Assert.AreEqual(enemyName, o.EnemyName);
            Assert.AreEqual(myRobot, o.MyRobotName);

            switch (enemyName)
            {
            case "WonBot":
                Assert.AreEqual(OutcomeType.Won, o.OutcomeType);
                break;

            case "LostBot":
                Assert.AreEqual(OutcomeType.Lost, o.OutcomeType);
                break;

            case "NoShowBot":
                Assert.AreEqual(OutcomeType.NoShow, o.OutcomeType);
                break;

            case "ErrorBot":
                Assert.AreEqual(OutcomeType.Error, o.OutcomeType);
                Assert.AreEqual("Blah ErrorBot Blah", o.Error);
                break;

            default:
                Assert.Fail(enemyName);
                break;
            }
        }
コード例 #2
0
        public void RecordUnfinishedBusiness(string enemyNames)
        {
            var adapter = new BattleResultAdapter();

            var btc = new BattleTestCase("A", enemyNames.Split(','));

            var outcomes = adapter.RecordUnfinishedBusiness(btc);

            Assert.IsNotNull(outcomes);
        }
コード例 #3
0
 internal static bool CheckForUnfinishedBusiness()
 {
     if (File.Exists(Path))
     {
         string data     = File.ReadAllText(Path);
         var    testCase = BattleTestCase.Deserialize(data);
         if (testCase != null)
         {
             var adapter  = new BattleResultAdapter();
             var outcomes = adapter.RecordUnfinishedBusiness(testCase);
             AddResult(outcomes);
             return(true);
         }
         File.Delete(Path);
     }
     return(false);
 }
コード例 #4
0
        public void Melee()
        {
            var myRobot          = "MyBot";
            var enemyRobotNamess = new[]
            {
                "WonBot",
                "LostBot",
                "NoShowBot",
                "ErrorBot"
            };

            var testCase = new BattleTestCase(myRobot, enemyRobotNamess);

            var errors = new[] { "Blah ErrorBot Blah" };

            var sortedResults = new[]
            {
                new BattleResults("LostBot", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
                new BattleResults("MyBot", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
                new BattleResults("WonBot", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
            };



            var adapter = new BattleResultAdapter();

            var outcomes = adapter.RecordOutcomes(testCase, sortedResults, errors, true);



            //Assert.AreEqual(4, mra.Outcomes.Count());
            var outcomeDic = outcomes.ToDictionary(k => k.EnemyName);

            Assert.AreEqual(OutcomeType.Lost, outcomeDic["LostBot"].OutcomeType);
            Assert.AreEqual(OutcomeType.Won, outcomeDic["WonBot"].OutcomeType);
            Assert.AreEqual(OutcomeType.NoShow, outcomeDic["NoShowBot"].OutcomeType);
            Assert.AreEqual(OutcomeType.Error, outcomeDic["ErrorBot"].OutcomeType);

            Assert.AreEqual("Blah ErrorBot Blah", outcomeDic["ErrorBot"].Error);
        }