Example #1
0
        public void GameTooShortTest(TestFixture fixture, Game game, IPgnManager manager)
        {
            "GIVEN a game with less than 15 moves".x(() =>
            {
                fixture = new TestFixture();

                game = new Game(new Metadata(), fixture.PgnWithLessThan15Moves);
                fixture.FakeReader.ReadGame(Arg.Invoke(game));
            });

            "AND the game is not duplicated".x(() =>
            {
                fixture.FakeRepo.IsDuplicated(game).Returns(false);
            });

            "WHEN the game is processed".x(() =>
            {
                manager = new PgnManager(fixture.FakeReader, fixture.FakeWriter, fixture.FakeRepo, fixture.FakeLogger);
                manager.ExecuteCheckingForDuplicates(g => { });
            });

            "THEN the game is not written".x(() =>
            {
                fixture.FakeWriter.DidNotReceive().WriteGame(Arg.Is(game));
            });

            "AND the game is not stored in the database".x(() =>
            {
                fixture.FakeRepo.DidNotReceive().Save(Arg.Is(game));
            });
        }
Example #2
0
        public void WrongResultNotationTest(IReadPgnFiles reader, IWritePgnFiles writer)
        {
            "GIVEN a single file with wrong result notation".x(() =>
            {
                reader = new PgnReader(TestFixture.FolderWithOneFileWrongNotation);
                writer = new PgnWriter(TestFixture.PathResultedPgn);
            });

            "WHEN the file is read".x(() =>
            {
                var manager = new PgnManager(reader, writer, TestFixture.FakeRepo, TestFixture.FakeLogger);
                manager.ExecuteCheckingForDuplicates(g => { });
            });

            "THEN the new file created contains two games".x(() =>
            {
                TestFixture.ContentOfResultedPgn.ShouldBe(TestFixture.ContentOfWrongResultGames);
            });
        }
Example #3
0
        public void OneGameTest(IReadPgnFiles reader, IWritePgnFiles writer)
        {
            "GIVEN a single file with one game".x(() =>
            {
                reader = new PgnReader(TestFixture.FolderWithOneFileOneGame);
                writer = new PgnWriter(TestFixture.PathResultedPgn);
            });

            "WHEN the file is read".x(() =>
            {
                var manager = new PgnManager(reader, writer, TestFixture.FakeRepo, TestFixture.FakeLogger);
                manager.ExecuteCheckingForDuplicates(g => { });
            });

            "THEN the new file created contains one game".x(() =>
            {
                TestFixture.ContentOfResultedPgn.ShouldBe(TestFixture.ContentOfExpectedOneGame);
            });
        }
Example #4
0
        public void TwoNestedFilesTest(IReadPgnFiles reader, IWritePgnFiles writer)
        {
            "GIVEN a folder with two nested files where each file contains one game".x(() =>
            {
                reader = new PgnReader(TestFixture.FolderWithNestedFiles);
                writer = new PgnWriter(TestFixture.PathResultedPgn);
            });

            "WHEN the files are read".x(() =>
            {
                var manager = new PgnManager(reader, writer, TestFixture.FakeRepo, TestFixture.FakeLogger);
                manager.ExecuteCheckingForDuplicates(g => { });
            });

            "THEN the new file created contains two games".x(() =>
            {
                TestFixture.ContentOfResultedPgn.ShouldBe(TestFixture.ContentOfExpectedTwoGames);
            });
        }