コード例 #1
0
        public void AddOrOverwriteTest3()
        {
            RankFileCustomFormat custom_format = new RankFileCustomFormat();
            List <Video>         video_list    = new List <Video>();
            Video video1 = new Video();

            video1.video_id = "sm12345";
            video1.title    = "video1";
            video_list.Add(video1);
            RankFile rank_file = new RankFile(video_list, custom_format);

            string new_video_id    = "sm12345";
            string new_video_title = "new_video";
            Video  new_video       = new Video();

            new_video.video_id = new_video_id;
            new_video.title    = new_video_title;

            bool overwritten = rank_file.AddOrOverwrite(new_video);

            List <Video> rank_video_list = rank_file.GetVideoList();

            Assert.That(overwritten, Is.True, "AddOrOverwriteTest3-1");
            Assert.That(rank_video_list.Count, Is.EqualTo(1), "AddOrOverwriteTest3-2");
            Assert.That(rank_video_list[0].title, Is.EqualTo(new_video_title), "AddOrOverwriteTest3-3");
        }
コード例 #2
0
        public void GetDetailInfoTest1()
        {
            string temp_directory_path = TestUtility.TestData[TestUtility.KEY_TEMP_DIRECTORY];
            string video_id            = TestUtility.TestData[TestUtility.KEY_VIDEO_ID];
            string video_title         = TestUtility.TestData[TestUtility.KEY_VIDEO_TITLE];

            TestUtility.EnsureLogin(network_);

            DirectoryInfo temp_directory = new DirectoryInfo(temp_directory_path);

            Assert.That(TestUtility.InitDirectory(temp_directory), Is.True, "GetDetailInfoTest1-1");

            string rank_file_path = Path.Combine(temp_directory_path, "rank.txt");
            string rank_file_text = string.Format("{0}\r\n{1}\r\n", "sm9", video_id);

            IJFile.WriteVer2(rank_file_path, rank_file_text, IJFile.EncodingPriority.UTF8);

            RankFileCustomFormat custom_format = new RankFileCustomFormat();
            InputOutputOption    iooption      = new InputOutputOption(rank_file_path, rank_file_path, custom_format);

            RankingMethod ranking_method = new RankingMethod(HoseiKind.Nothing, SortKind.Nothing, 0);

            List <string> id_list = new List <string>(new string[] {
                video_id,
                "sm1097445"
            });

            network_manager_.GetDetailInfo(id_list, iooption, true, ranking_method, "1");

            RankFile     rank_file  = new RankFile(rank_file_path, custom_format);
            List <Video> video_list = rank_file.GetVideoList();

            Assert.That(video_list.Count, Is.EqualTo(3), "GetDetailInfoTest1-2");
            Assert.That(video_list[1].title, Is.EqualTo(video_title), "GetDetailInfoTest1-3");
        }
コード例 #3
0
        public static void ShouldConvertRankAndFileToPosition()
        {
            var g7 = new RankFile(file: 'g', rank: 7);

            Position position = g7; //invokes conversion operator

            position.Should().BeEquivalentTo(new Position(6, 6));
        }
コード例 #4
0
        public static void ShouldConvertCoordinatePositionToRankAndFile()
        {
            var position = new Position(3, 3);

            RankFile boardPosition = position; //invokes conversion operator

            boardPosition.Should().BeEquivalentTo(new RankFile(file: 'd', rank: 4));
        }
コード例 #5
0
        public static void RankAndFileConversionShouldBeReversible()
        {
            var a8 = new RankFile(file: 'a', rank: 8);

            Position position = a8;                       //invokes conversion operator
            RankFile reverseConvertedPosition = position; //invokes conversion operator

            reverseConvertedPosition.Should().BeEquivalentTo(a8);
        }
コード例 #6
0
        public Move CreateMoveFromPlayerInput(RankFile pieceCurrentPosition, RankFile pieceDesiredDestination)
        {
            validate(pieceCurrentPosition, pieceDesiredDestination);

            BasicGame game = Player.Game;

            Chess.Game.Board board = game.Board;

            IPiece piece       = board[pieceCurrentPosition].Piece.Object;
            Square destination = board[pieceDesiredDestination];

            return(new Move(Player, piece, destination));
        }
コード例 #7
0
        public static void ShouldCreateMoveWithCorrectDestinationFromTextInput()
        {
            String playerInput = "F6 E4";

            TextIOMock.Setup((TextIOInterface self) => self.ReadLine())
            .Returns(playerInput);

            Move nextMove = ConsoleInputController.NextMove;

            RankFile expectedMoveDestination = ('E', 4);

            Assert.AreEqual(expectedMoveDestination, nextMove.Destination.RankAndFile);
        }
コード例 #8
0
ファイル: FormBrowser.cs プロジェクト: tdenc/nicorank
        private void LoadRankFile()
        {
            if (!File.Exists(textBoxRankFilePath.Text))
            {
                MessageBox.Show("ランクファイルが存在しません。");
                return;
            }
            RankFile rank_file = new RankFile(textBoxRankFilePath.Text, new RankFileCustomFormat());

            comboBoxNavigateUrl.Items.Clear();
            for (int i = 0; i < rank_file.Count; ++i)
            {
                comboBoxNavigateUrl.Items.Add(rank_file[i] + "   " + rank_file.GetVideo(i).title);
            }
            labelInfo.Text = "読み込みました";
        }
コード例 #9
0
ファイル: FormChoicePic.cs プロジェクト: tdenc/nicorank
 private void FormChoicePic_Load(object sender, EventArgs e)
 {
     try
     {
         RankFile rank_file = iooption_.GetRankFile();
         comboBoxChoiceVideo.Items.Add(" ");
         for (int i = 0; i < rank_file.Count; ++i)
         {
             Video video = rank_file.GetVideo(i);
             // 動画ID: タイトル
             comboBoxChoiceVideo.Items.Add(video.video_id + ": " + video.title);
         }
     }
     catch (Exception err)
     {
         MessageBox.Show("エラー:" + err.Message, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
     }
 }
コード例 #10
0
        private void validate(RankFile pieceCurrentPosition, RankFile pieceDesiredDestination)
        {
            BasicGame game = Player.Game;

            Chess.Game.Board board = game.Board;
            IPiece           piece = board[pieceCurrentPosition].Piece.Object;

            if (piece == null)
            {
                throw new InvalidMoveException($"There is no piece at the position {pieceCurrentPosition.ToString()}");
            }

            if (piece.CanMoveTo(board[pieceDesiredDestination]) == false)
            {
                throw new InvalidMoveException($"{piece.GetType().Name} at {pieceCurrentPosition.ToString()} cannot move to {pieceDesiredDestination.ToString()}");
            }

            if (Player.Pieces.Contains(piece) == false)
            {
                throw new InvalidMoveException($"{piece.GetType().Name} at {pieceCurrentPosition.ToString()} does not belong to {Player.Name}");
            }
        }
コード例 #11
0
 public Square(char pieceSymbol, RankFile rankAndFile) :
     this(Graphical.Piece.Create(pieceSymbol), rankAndFile)
 {
 }
コード例 #12
0
 public Square(Chess.Game.IPiece piece, RankFile rankAndFile) :
     base(piece, rankAndFile)
 {
 }
コード例 #13
0
 public Square(RankFile rankAndFile) :
     base(rankAndFile)
 {
 }
コード例 #14
0
 public Square(char pieceSymbol, RankFile rankAndFile) :
     this(Simulation.Piece.Create(pieceSymbol), rankAndFile)
 {
 }
コード例 #15
0
 // ReSharper disable once UnusedMember.Local
 public GameRecordEntry(IPiece piece, RankFile destination)
 {
     AlgrebraicNotation = new AlgebraicNotation(piece, destination);
 }
コード例 #16
0
 public AlgebraicNotation(IPiece piece, RankFile destination)
 {
     pieceSymbol      = piece.Symbol;
     this.destination = destination;
 }