public void AdditionInCenter()
        {
            var analyser = new DefaultStringAnalyser();
            analyser.ResultPrototype = new DefaultStringAnalysisResult();

            var expected = new DefaultStringAnalysisResult();
            expected.Equality = 98;
            expected.IsEqual = false;

            var actual = analyser.CompareStrings("12456", "123456");

            Assert.AreEqual(expected, actual);
        }
        public void DeletionAtTheStart()
        {
            var analyser = new DefaultStringAnalyser();
            analyser.ResultPrototype = new DefaultStringAnalysisResult();

            var expected = new DefaultStringAnalysisResult();
            expected.Equality = 78;
            expected.IsEqual = false;

            var actual = analyser.CompareStrings("12345", "2345");

            Assert.AreEqual(expected, actual);
        }
        public void ManyAdditionsAndDeletions4()
        {
            var analyser = new DefaultStringAnalyser();
            analyser.ResultPrototype = new DefaultStringAnalysisResult();

            var expected = new DefaultStringAnalysisResult();
            expected.Equality = 69;
            expected.IsEqual = false;

            var actual = analyser.CompareStrings("12345678901234567890", "12364355234234782390132424354825479");

            Assert.AreEqual(expected, actual);
        }
        public void ManyDeletionsInCenterAndRepeatingSubstrings()
        {
            var analyser = new DefaultStringAnalyser();
            analyser.ResultPrototype = new DefaultStringAnalysisResult();

            var expected = new DefaultStringAnalysisResult();
            expected.Equality = 56;
            expected.IsEqual = false;

            var actual = analyser.CompareStrings("1234512345", "134245");

            Assert.AreEqual(expected, actual);
        }
        public void ManyAdditionsAndDeletions3()
        {
            var analyser = new DefaultStringAnalyser();
            analyser.ResultPrototype = new DefaultStringAnalysisResult();

            var expected = new DefaultStringAnalysisResult();
            expected.Equality = 42;
            expected.IsEqual = false;

            var actual = analyser.CompareStrings("12345678901234567890", "126s7r80ygf1h2hseff3sdg78ddsd");

            Assert.AreEqual(expected, actual);
        }
        public void ManyAdditionsAndDeletions2()
        {
            var analyser = new DefaultStringAnalyser();
            analyser.ResultPrototype = new DefaultStringAnalysisResult();

            var expected = new DefaultStringAnalysisResult();
            expected.Equality = 48;
            expected.IsEqual = false;

            var actual = analyser.CompareStrings("1234567890", "fd34aaf6f78ar0");

            Assert.AreEqual(expected, actual);
        }
        public void ManyAdditionsAndDeletions1()
        {
            var analyser = new DefaultStringAnalyser();
            analyser.ResultPrototype = new DefaultStringAnalysisResult();

            var expected = new DefaultStringAnalysisResult();
            expected.Equality = 50;
            expected.IsEqual = false;

            var actual = analyser.CompareStrings("12345", "a2a4a5");

            Assert.AreEqual(expected, actual);
        }
        public void FullMismatch()
        {
            var analyser = new DefaultStringAnalyser();
            analyser.ResultPrototype = new DefaultStringAnalysisResult();

            var expected = new DefaultStringAnalysisResult();
            expected.Equality = 0;
            expected.IsEqual = false;

            var actual = analyser.CompareStrings("12345", "abcde");
            Assert.AreEqual(expected, actual);
        }
        public void FullCoincidence()
        {
            var analyser = new DefaultStringAnalyser();
            analyser.ResultPrototype = new DefaultStringAnalysisResult();

            var expected = new DefaultStringAnalysisResult();
            expected.Equality = 100;
            expected.IsEqual = true;

            var actual = analyser.CompareStrings("12345", "12345");

            Assert.AreEqual(expected, actual);
        }