コード例 #1
0
        public void SpellerTransposition()
        {
            var mistakes = SpellerService.OptimalStringAlignmentDistance("синхрофазортон", "синхрофазотрон");

            Assert.AreEqual(1, mistakes.Count);
            Assert.AreEqual(10, mistakes[0].Position);
            Assert.AreEqual(CharMistakeType.Transposition, mistakes[0].Type);
        }
コード例 #2
0
        public void SpellerDeletion2()
        {
            var mistakes = SpellerService.OptimalStringAlignmentDistance("аДубна", "Дубна");

            Assert.AreEqual(1, mistakes.Count);
            Assert.AreEqual(0, mistakes[0].Position);
            Assert.AreEqual(CharMistakeType.Deletion, mistakes[0].Type);
        }
コード例 #3
0
        public void SpellerInsertion()
        {
            var mistakes = SpellerService.OptimalStringAlignmentDistance("синхрофазотр", "синхрофазотрон");

            Assert.AreEqual(2, mistakes.Count);
            Assert.AreEqual(12, mistakes[0].Position);
            Assert.AreEqual(CharMistakeType.Insertion, mistakes[0].Type);
            Assert.AreEqual(13, mistakes[1].Position);
            Assert.AreEqual(CharMistakeType.Insertion, mistakes[1].Type);
        }
コード例 #4
0
        public void SpellerSubstitution()
        {
            var mistakes = SpellerService.OptimalStringAlignmentDistance("синхрАфазАтрон", "синхрофазотрон");

            Assert.AreEqual(2, mistakes.Count);
            Assert.AreEqual(mistakes[0].Position, 5);
            Assert.AreEqual(mistakes[0].Type, CharMistakeType.Substitution);
            Assert.AreEqual(mistakes[1].Position, 9);
            Assert.AreEqual(mistakes[1].Type, CharMistakeType.Substitution);
        }
コード例 #5
0
        public void SpellerDeletion1()
        {
            var mistakes = SpellerService.OptimalStringAlignmentDistance("синНхрофаАзотрон", "синхрофазотрон");

            Assert.AreEqual(2, mistakes.Count);
            Assert.AreEqual(3, mistakes[0].Position);
            Assert.AreEqual(CharMistakeType.Deletion, mistakes[0].Type);
            Assert.AreEqual(8, mistakes[1].Position);
            Assert.AreEqual(CharMistakeType.Deletion, mistakes[1].Type);
        }
コード例 #6
0
        public void SpellerOutputEmpty()
        {
            var mistakes = SpellerService.OptimalStringAlignmentDistance("синхрофазотрон", "");

            Assert.AreEqual("синхрофазартон".Length, mistakes.Count);
            for (int i = 0; i < mistakes.Count; i++)
            {
                Assert.AreEqual(0, mistakes[i].Position);
                Assert.AreEqual(CharMistakeType.Deletion, mistakes[i].Type);
            }
        }
コード例 #7
0
        public void SpellerMixed()
        {
            var mistakes = SpellerService.OptimalStringAlignmentDistance("АсИнхрофаортон", "синхрофазотрон");

            Assert.AreEqual(4, mistakes.Count);
            Assert.AreEqual(0, mistakes[0].Position);
            Assert.AreEqual(CharMistakeType.Deletion, mistakes[0].Type);
            Assert.AreEqual(1, mistakes[1].Position);
            Assert.AreEqual(CharMistakeType.Substitution, mistakes[1].Type);
            Assert.AreEqual(8, mistakes[2].Position);
            Assert.AreEqual(CharMistakeType.Insertion, mistakes[2].Type);
            Assert.AreEqual(10, mistakes[3].Position);
            Assert.AreEqual(CharMistakeType.Transposition, mistakes[3].Type);
        }
コード例 #8
0
 public void Init()
 {
     _spellerService = new SpellerService();
 }