예제 #1
0
        public void ParseMateTest()
        {
            AssertMate("+4", 4, true);
            AssertMate("-54", 54, false);
            AssertMate("+", 0, true);
            AssertMate("-", 0, false);

            AssertMate("32", 32, true);

            AssertMate("+3dts", 3, true);

            Assert.Catch(() => Score.ParseMate("dde+3dts", BWType.Black));
        }
예제 #2
0
        private void AssertMate(string text, int mate, bool isWin)
        {
            var score = Score.ParseMate(text, BWType.Black);

            Assert.AreEqual(ScoreType.Mate, score.ScoreType);
            Assert.AreEqual(mate, score.Mate);
            Assert.AreEqual(isWin, score.IsMateWin);
            Assert.AreEqual(Score.MateScore * (isWin ? +1 : -1), score.Value);

            score.Neg();
            Assert.AreEqual(mate, score.Mate);
            Assert.AreEqual(!isWin, score.IsMateWin);
            Assert.AreEqual(Score.MateScore * (isWin ? -1 : +1), score.Value);

            score.Neg();
            Assert.AreEqual(mate, score.Mate);
            Assert.AreEqual(!!isWin, score.IsMateWin);
            //Assert.AreEqual(text, score.Text);
            Assert.AreEqual(Score.MateScore * (isWin ? +1 : -1), score.Value);
        }