Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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)));
        }
Ejemplo n.º 6
0
        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);
        }