Exemplo n.º 1
0
        /// <summary>
        /// Upon loading the file through the <see cref="ConfigurationsReader"/> class the program will start
        /// iterating through every sequence of moves and calling the <see cref="ExecuteGame"/> class which will output
        /// the result to console.
        /// </summary>
        /// <param name="file">As per requirement args is expecting a path to a file</param>
        public static void Game(string file)
        {
            var gameConfiguration = new ConfigurationsReader(file);
            var turtleGame        = new ExecuteGame(gameConfiguration.Games);

            turtleGame.ExecuteGames(gameConfiguration.Board, gameConfiguration.Turtle, gameConfiguration.Games);
        }
Exemplo n.º 2
0
        public void OldConfigXml()
        {
            string json = Resources.old_config1;
            ConfigurationsReader reader = this.resolver.Create <ConfigurationsReader>();

            Assert.ThrowsException <InvalidConfigurationException>(() => reader.Parse(json));
        }
Exemplo n.º 3
0
        public void EmptyGenerate()
        {
            ConfigurationsReader    reader         = this.resolver.Create <ConfigurationsReader>();
            List <ConfigurationSet> configurations = reader.Parse(Resources.empty_generate);

            Assert.AreEqual(1, configurations.Count, "Unexpected number of configurations");
            Assert.AreEqual(0, configurations[0].Readers.Count, "Unexpected number of readers");
            Assert.AreEqual(0, configurations[0].Writers.Count, "Unexpected number of writers");
        }
Exemplo n.º 4
0
        public void OneGenerateInArrayArray()
        {
            ConfigurationsReader    reader         = this.resolver.Create <ConfigurationsReader>();
            List <ConfigurationSet> configurations = reader.Parse(Resources.one_generate_in_array_array);

            Assert.AreEqual(1, configurations.Count, "Unexpected number of configurations");
            Assert.AreEqual(0, configurations[0].Readers.Count, "Unexpected number of readers");
            Assert.AreEqual(1, configurations[0].Writers.Count, "Unexpected number of writers");
            Assert.AreEqual("Test1", configurations[0].Writers[0].CastTo <Write1Configuration>().Property1);
        }
Exemplo n.º 5
0
        public void TwoReadsOneGenerate()
        {
            ConfigurationsReader    reader         = this.resolver.Create <ConfigurationsReader>();
            List <ConfigurationSet> configurations = reader.Parse(Resources.two_reads_one_generate);

            Assert.AreEqual(1, configurations.Count, "Unexpected number of configurations");
            Assert.AreEqual(2, configurations[0].Readers.Count, "Unexpected number of readers");
            Assert.AreEqual(1, configurations[0].Writers.Count, "Unexpected number of writers");
            Assert.AreEqual("Test1", configurations[0].Readers[0].CastTo <Read1Configuration>().Property1);
            Assert.AreEqual("Test2", configurations[0].Readers[1].CastTo <Read2Configuration>().Property2);
            Assert.AreEqual("Test3", configurations[0].Writers[0].CastTo <Write1Configuration>().Property1);
        }
Exemplo n.º 6
0
 public void Initialize()
 {
     this.resolver = new DependencyResolver();
     this.resolver.Bind <ITypeMapping>().To <TypeMapping>();
     this.resolver.Bind <IConfigurationReaderVersion>().To <ConfigurationReaderVersion2>();
     this.resolver.Bind <ReaderConfigurationMapping>().ToSingleton();
     this.resolver.Get <ReaderConfigurationMapping>();
     this.resolver.Bind <WriterConfigurationMapping>().ToSingleton();
     this.resolver.Get <WriterConfigurationMapping>();
     this.resolver.Create <CoreModule>().Initialize();
     this.resolver.Create <CsharpModule>().Initialize();
     this.resolver.Create <JsonModule>().Initialize();
     this.reader = this.resolver.Create <ConfigurationsReader>();
 }
Exemplo n.º 7
0
 public void Initialize()
 {
     this.resolver = new DependencyResolver();
     this.resolver.Bind <ITypeMapping>().ToSingleton <TypeMapping>();
     this.resolver.Bind <IConfigurationReaderVersion>().To <ConfigurationReaderVersion2>();
     this.resolver.Bind <ReaderConfigurationMapping>().ToSingleton();
     this.resolver.Bind <WriterConfigurationMapping>().ToSingleton();
     this.resolver.Create <CoreModule>().Initialize();
     this.resolver.Create <CsharpModule>().Initialize();
     this.resolver.Create <TsqlModule>().Initialize();
     this.reader = this.resolver.Create <ConfigurationsReader>();
     this.runner = this.resolver.Create <ConfigurationRunner>();
     this.output = this.resolver.Create <MemoryOutput>();
 }
        public void TestTurtleCannotMoveOutOfBoard()
        {
            var settings = new string[6];

            settings[0] = "5 4";
            settings[1] = "1,1 1,3 3,3";
            settings[2] = "4 2";
            settings[3] = "0 1 N";
            settings[4] = "M M M M M";
            var testProgram           = new ConfigurationsReader(settings);
            IEnumerable <Moves> moves = testProgram.Games.
                                        ElementAt(0).Split(' ').Select(s => Enum.Parse(typeof(Moves), s)).Cast <Moves>().ToList();

            Assert.Throws <Exception>(() => ExecuteGame.Execute(testProgram.Board, testProgram.Turtle, moves));
        }
        public void TestStillInDangerRun()
        {
            var settings = new string[6];

            settings[0] = "5 4";
            settings[1] = "1,1 1,3 3,3";
            settings[2] = "4 2";
            settings[3] = "0 1 N";
            settings[4] = "M R M M M";
            var testProgram           = new ConfigurationsReader(settings);
            IEnumerable <Moves> moves = testProgram.Games.
                                        ElementAt(0).Split(' ').Select(s => Enum.Parse(typeof(Moves), s)).Cast <Moves>().ToList();

            Assert.AreEqual("Still in danger!", ExecuteGame.Execute(testProgram.Board, testProgram.Turtle, moves));
        }
Exemplo n.º 10
0
        public void TestMine()
        {
            var settings = new string[6];

            settings[0] = "5 4";
            settings[1] = "1,1 1,3 3,3";
            settings[2] = "4 2";
            settings[3] = "0 1 N";
            settings[4] = "R M L M M";
            settings[5] = "R M M M";
            var configurationsReader = new ConfigurationsReader(settings);
            var coordinates          = new Coordinates {
                CoordinateX = 1, CoordinateY = 1
            };

            Assert.AreEqual(true, configurationsReader.Board.IsMine(coordinates));
        }
Exemplo n.º 11
0
        private List <ConfigurationSet> Deserialize(string configuration)
        {
            ConfigurationsReader configurationsReader = this.resolver.Create <ConfigurationsReader>();

            return(configurationsReader.Parse(configuration));
        }
Exemplo n.º 12
0
        public void EmptyConfiguration()
        {
            ConfigurationsReader reader = this.resolver.Create <ConfigurationsReader>();

            Assert.ThrowsException <InvalidConfigurationException>(() => reader.Parse(Resources.empty_configuration));
        }