public void NoMovesTest() { int playerId = 2; var attackResponseToken = new AttackResponseToken(playerId); string translatedAttackResponse = translator.Translate(attackResponseToken); Assert.AreEqual("No moves", translatedAttackResponse); var placeArmiesToken = new PlaceArmiesResponseToken(playerId, null); string translatedPlaceArmies = translator.Translate(placeArmiesToken); Assert.AreEqual("No moves", translatedPlaceArmies); }
public void PlaceArmiesResponseTest() { int playerId = 1; var placements = new List <(int RegionId, int Army)>() { (1, 2), (2, 5) }; PlaceArmiesResponseToken responseToken = new PlaceArmiesResponseToken(playerId, placements); string translatedResponse = translator.Translate(responseToken); Assert.AreEqual("player1 place_armies 1 2, player1 place_armies 2 5", translatedResponse); }
private string TranslatePlaceArmiesResponse(PlaceArmiesResponseToken token) { if (token.Changes == null || token.Changes.Count == 0) { return(NoMoves); } StringBuilder sb = new StringBuilder(); if (!NamesIdsMappingDictionary.TryGetValue(token.PlayerId, out string playerName)) { throw new ArgumentException($"Player with id {token.PlayerId} is not defined"); } foreach (var deployment in token.Changes) { sb.Append($"{playerName} {PlaceArmies} {deployment.RegionId} {deployment.Army}, "); } // remove last comma and space sb.Remove(sb.Length - 2, 2); return(sb.ToString()); }