public async Task MapsGetLoadedOnNavigate() { var mapConfigurator = new Mock<IMapConfigurator>(); var gameconfig = new Mock<IGameConfigurator>(); var navigation = new Mock<INavigationService>(); var map1 = new Mock<IMap>(); mapConfigurator.Setup(s => s.GetMaps()).Returns(Task.FromResult(new[] { map1.Object, new Mock<IMap>().Object }.AsEnumerable())); var viewmodel = new ConfigurationViewModel(gameconfig.Object, mapConfigurator.Object, navigation.Object); await viewmodel.OnNavigate(); Assert.Equal(2, viewmodel.Maps.Count); Assert.Equal(map1.Object, viewmodel.SelectedMap); }
public void ExpectSelectablePlayersToBeListFromMinMaxOfSelectedMap(int min, int max, IEnumerable<int> expected) { var mapConfigurator = new Mock<IMapConfigurator>(); var gameconfig = new Mock<IGameConfigurator>(); var navigation = new Mock<INavigationService>(); var viewmodel = new ConfigurationViewModel(gameconfig.Object, mapConfigurator.Object, navigation.Object); var map = new Mock<IMap>(); map.Setup(m => m.MinPlayers).Returns(min); map.Setup(m => m.MaxPlayers).Returns(max); viewmodel.SelectedMap = map.Object; Assert.Equal(expected, viewmodel.Players); Assert.Equal(min, viewmodel.SelectedPlayerCount); }
public void ExpectSelectablePlayersToBeEmptyListWhenSelectedMapNull() { var mapConfigurator = new Mock<IMapConfigurator>(); var gameconfig = new Mock<IGameConfigurator>(); var navigation = new Mock<INavigationService>(); var viewmodel = new ConfigurationViewModel(gameconfig.Object, mapConfigurator.Object, navigation.Object); //first set some intial values var map = new Mock<IMap>(); map.Setup(m => m.MinPlayers).Returns(3); map.Setup(m => m.MaxPlayers).Returns(4); viewmodel.SelectedMap = map.Object; viewmodel.SelectedMap = null; Assert.Equal(new int[0], viewmodel.Players); }
public void ExpectCreateLobbyToNotExecuteIfMapNull() { var mapConfigurator = new Mock<IMapConfigurator>(); var gameconfig = new Mock<IGameConfigurator>(); var navigation = new Mock<INavigationService>(); var viewmodel = new ConfigurationViewModel(gameconfig.Object, mapConfigurator.Object, navigation.Object); viewmodel.Port = 8008; viewmodel.SelectedMap = null; viewmodel.SelectedPlayerCount = 3; viewmodel.CreateLobbyCommand.Execute(null); gameconfig.Verify(g => g.CreateLobby(It.IsAny<GameConfiguration>(), It.IsAny<int>()), Times.Never); }
public void CreateLobbyExecuteTest() { var mapConfigurator = new Mock<IMapConfigurator>(); var gameconfig = new Mock<IGameConfigurator>(); var navigation = new Mock<INavigationService>(); var lobby = new Mock<ILobby>().Object; gameconfig.Setup(g => g.CreateLobby(It.IsAny<GameConfiguration>(), It.IsAny<int>())).Returns(Task.FromResult(lobby)); var viewmodel = new ConfigurationViewModel(gameconfig.Object, mapConfigurator.Object, navigation.Object); var map = new Mock<IMap>(); map.Setup(m => m.MinPlayers).Returns(3); map.Setup(m => m.MaxPlayers).Returns(4); viewmodel.Port = 8008; viewmodel.SelectedMap = map.Object; viewmodel.SelectedPlayerCount = 3; viewmodel.CreateLobbyCommand.Execute(null); gameconfig.Verify(g => g.CreateLobby(It.Is<GameConfiguration>(c => c.Map == map.Object && c.TotalPlayers == 3), 8008)); navigation.Verify(n => n.Navigate<LobbyViewModel>(It.Is<TypedParameter>(p => p.Value == lobby))); }
public void ExpectCreateLobbyToNotExecuteOnInvalidPort() { var mapConfigurator = new Mock<IMapConfigurator>(); var gameconfig = new Mock<IGameConfigurator>(); var navigation = new Mock<INavigationService>(); var viewmodel = new ConfigurationViewModel(gameconfig.Object, mapConfigurator.Object, navigation.Object); var map = new Mock<IMap>(); map.Setup(m => m.MinPlayers).Returns(3); map.Setup(m => m.MaxPlayers).Returns(4); viewmodel.Port = 0; viewmodel.SelectedMap = map.Object; viewmodel.SelectedPlayerCount = 3; viewmodel.CreateLobbyCommand.Execute(null); gameconfig.Verify(g => g.CreateLobby(It.IsAny<GameConfiguration>(), It.IsAny<int>()), Times.Never); }