public GameState LoadNewGame(string fileName)
        {
            fileName = LocalNewGameProvider.AddFileNameExtension(fileName);
            var cells = LoadNew2DCellArray(fileName);
            var board = new TwoDimensionalBoard(cells);

            var ruleSet = Configuration.DefaultRuleSets.First(r => r.Key == board.GetDimensions().Count).Value;

            return(new GameState(board, new DefaultBoardProcessor(ruleSet)));
        }
Beispiel #2
0
        public void LoadNewGame_ShouldLoadTest2DGame_GivenLoadFileArgument()
        {
            var loaderFactory = new Mock <ILoaderFactory>();

            loaderFactory.Setup(x => x.CreateNewGameLoader(It.IsAny <Type>())).Returns(new TwoDimensionalNewGameLoader());

            var newGameProvider = new LocalNewGameProvider(loaderFactory.Object);

            var args = new Arguments()
            {
                DefaultDimensions = new List <int>(),
                LoadFileName      = "test2D.nlife"
            };

            var gameState = newGameProvider.LoadNewGame(args);

            Assert.True(gameState.Board.GetDimensions()[0] == 3);
            Assert.True(gameState.Board.GetDimensions()[1] == 2);
        }
Beispiel #3
0
        public void LoadNewGame_ShouldLoad2DRandomDefaultGame_GivenDefault2DArguments()
        {
            var loaderFactory = new Mock <ILoaderFactory>();

            loaderFactory.Setup(x => x.CreateNewGameLoader(It.IsAny <Type>())).Returns(new TwoDimensionalNewGameLoader());

            var newGameProvider = new LocalNewGameProvider(loaderFactory.Object);

            var args = new Arguments()
            {
                DefaultDimensions = new List <int>()
                {
                    10, 9
                }
            };

            var gameState = newGameProvider.LoadNewGame(args);

            Assert.True(gameState.Board.GetDimensions()[0] == 10);
            Assert.True(gameState.Board.GetDimensions()[1] == 9);
        }