Example #1
0
        public void CanPersistAndRetrieveAGame()
        {
            var game = new Game {Winner = "A", Loser = "B"};

            var gameString = game.Serialize();
            var recreatedGame = Game.Deserialize(gameString);

            Assert.AreEqual(game, recreatedGame);
        }
Example #2
0
        public static void Persist(Game game)
        {
            game.PartitionKey = ConfigurationManager.AppSettings["Account"];
            game.RowKey = Guid.NewGuid().ToString();
            game.WhenPlayed = DateTime.Now;

            var table = GetTable(tableName);
            TableOperation insertOp = TableOperation.Insert(game);
            table.Execute(insertOp);
        }
Example #3
0
        public static void UpdateRatings(Game game)
        {
            var winner = PlayerByName(game.Winner);
            var loser = PlayerByName(game.Loser);

            var pointsExchanged = EloCalc.PointsExchanged(winner.Rating, loser.Rating);

            winner.IncreaseRating(pointsExchanged);
            loser.DecreaseRating(pointsExchanged);
        }
Example #4
0
        public ActionResult Create(Game game)
        {
            if (game.Winner != game.Loser)
            {
                GamesData.PersistGame(game);
                Games.Add(game);
                Players.UpdateRatings(game);
            }

            return Redirect("~/");
        }
Example #5
0
        public void CanRetrieveNMostRecentGames()
        {
            var game1 = new Game {Winner = "A", Loser = "B"};
            var game2 = new Game {Winner = "A", Loser = "C"};
            var game3 = new Game {Winner = "B", Loser = "C"};

            Games.Initialise(new[] {game1, game2, game3});

            var expected = new List<Game>
            {
                game2,
                game3
            };

            Assert.AreEqual(expected, Games.MostRecent(2, Games.GamesSortOrder.MostRecentLast));
        }
Example #6
0
        public void CanRetrieveGamesPlayedByAParticularPlayer()
        {
            var game1 = new Game { Winner = "A", Loser = "B" };
            var game2 = new Game { Winner = "A", Loser = "C" };
            var game3 = new Game { Winner = "B", Loser = "C" };

            Games.Initialise(new[] { game1, game2, game3 });

            var expected = new List<Game>
            {
                game2,
                game3
            };

            var player = new Player("C");

            Assert.AreEqual(expected, Games.ByPlayer(player));
        }
Example #7
0
File: Games.cs Project: MSIH/ELO
 public static void Add(Game game)
 {
     _games.Add(game);
 }
Example #8
0
        private void InitialiseTestGames()
        {
            var games = new Game[]
            {
                new Game {Winner = "Peter", Loser = "Frank"},
                new Game {Winner = "Frank", Loser = "Peter"},
                new Game {Winner = "Frank", Loser = "Peter"},
                new Game {Winner = "Bob", Loser = "Richard"},
                new Game {Winner = "Bob", Loser = "Richard"},
                new Game {Winner = "Bob", Loser = "Richard"},
                new Game {Winner = "Richard", Loser = "Bob"},
                new Game {Winner = "Bob", Loser = "Richard"},
                new Game {Winner = "Bob", Loser = "Richard"},
                new Game {Winner = "Bob", Loser = "Richard"},
                new Game {Winner = "Richard", Loser = "Bob"},
                new Game {Winner = "Bob", Loser = "Richard"},
                new Game {Winner = "Richard", Loser = "Bob"},
                new Game {Winner = "Bob", Loser = "Richard"},
                new Game {Winner = "Bob", Loser = "Richard"},
                new Game {Winner = "Bob", Loser = "Richard"},
                new Game {Winner = "Bob", Loser = "Richard"},
                new Game {Winner = "Richard", Loser = "Bob"},
                new Game {Winner = "Bob", Loser = "Richard"}
            };

            Games.Initialise(games);
        }
Example #9
0
 private object WorL(Game game)
 {
     return game.Winner == Name ? "W" : "L";
 }
Example #10
0
 public static void PersistGame(Game game)
 {
     File.AppendAllText(_path, game.Serialize() + "\n");
 }
Example #11
0
File: Game.cs Project: MSIH/ELO
 protected bool Equals(Game other)
 {
     return string.Equals(Winner, other.Winner) && string.Equals(Loser, other.Loser) && Time.Equals(other.Time);
 }