private bool AreModelsEqual(PlayerCivPairModel initialModel, PlayerCivPairModel parsedModel)
 {
     return
         (initialModel.Civs.SequenceEqual(parsedModel.Civs) &&
          initialModel.Players.SequenceEqual(parsedModel.Players) &&
          initialModel.Pairs.SequenceEqual(parsedModel.Pairs));
 }
 private bool CheckOutput(PlayerCivPairModel initialModel)
 {
     initialModel.Pairs = JsonConvert.DeserializeObject <IDictionary <string, string> >(File.ReadAllText(m_OutputTestFile));
     return
         (CheckAllPlayersIncluded(initialModel) &&
          CheckValidVaulesOfPairs(initialModel));
 }
        public PlayerCivPairModel Parse(string input)
        {
            PlayerCivPairModel playerCivPairModel = JsonConvert.DeserializeObject <PlayerCivPairModel>(File.ReadAllText(input));

            playerCivPairModel.Pairs = new Dictionary <string, string>();
            return(playerCivPairModel);
        }
        public void Test_R1_UC3()
        {
            //Given
            PlayerCivPairModel initialModel = CreateTestModel();

            File.WriteAllText(m_InputTestFile, JsonConvert.SerializeObject(initialModel, Formatting.Indented));
            //When
            Program.Main(new[] { m_InputTestFile, m_OutputTestFile });
            //Then
            Assert.True(CheckOutput(initialModel), "Output is not correct.");
        }
Exemple #5
0
        public void Create(PlayerCivPairModel model)
        {
            IList <string> ageofUsers = new List <string>(model.Players);

            while (ageofUsers.Count != 0)
            {
                string player = ageofUsers[m_RandomGenerator.Generate(ageofUsers.Count)];
                string civ    = model.Civs[m_RandomGenerator.Generate(model.Civs.Count)];
                model.Pairs[player] = civ;
                ageofUsers.Remove(player);
            }
        }
        public void Test_R1_UC2()
        {
            //Given
            PlayerCivPairModel initialModel = CreateTestModel();

            File.WriteAllText(m_InputTestFile, JsonConvert.SerializeObject(initialModel, Formatting.Indented));
            InputParser inputParser = new InputParser();
            //When
            PlayerCivPairModel parsedModel = inputParser.Parse(m_InputTestFile);

            //Then
            Assert.True(AreModelsEqual(initialModel, parsedModel));
        }
        public void Test_R1_UC1()
        {
            //Given
            PlayerCivPairModel model       = CreateTestModel();
            PairCreator        pairCreator = new PairCreator(new RandomGenerator());

            //When
            pairCreator.Create(model);
            //Then
            Assert.True(model.Pairs.Count == model.Players.Count, "Not all pairs created.");
            Assert.True(CheckValidVaulesOfPairs(model), "Not all civs are valid in pairs.");
            Assert.True(CheckAllPlayersIncluded(model), "Not all players are included.");
        }
        private bool CheckValidVaulesOfPairs(PlayerCivPairModel model)
        {
            bool result = true;

            foreach (var item in model.Pairs)
            {
                if (!model.Civs.Contains(item.Value))
                {
                    result = false;
                    break;
                }
            }
            return(result);
        }
        private bool CheckAllPlayersIncluded(PlayerCivPairModel model)
        {
            bool result = true;

            foreach (var item in model.Pairs)
            {
                if (!model.Players.Contains(item.Key))
                {
                    result = false;
                    break;
                }
            }
            return(result);
        }
        public static void Main(string[] args)
        {
            Console.WriteLine("RandomPlayerGenerator executed.");
            InputParser     inputParser     = new InputParser();
            ResultHandler   outputParser    = new ResultHandler();
            RandomGenerator randomGenerator = new RandomGenerator();
            PairCreator     pairCreator     = new PairCreator(randomGenerator);

            PlayerCivPairModel model = inputParser.Parse(args[0]);

            pairCreator.Create(model);
            string result = outputParser.Parse(model);

            Console.WriteLine(result);
            File.AppendAllText(args[1], result);
        }
Exemple #11
0
 public string Parse(PlayerCivPairModel model)
 {
     return(JsonConvert.SerializeObject(model.Pairs, Formatting.Indented));
 }