public void LcsPercentMinExactMatch()
        {
            //  Arrange
            var str1 = "Cathkin Braes";
            var str2 = "Cathkin Braes";

            var algorithm = new LcSubstr();

            //  Act
            var result = Math.Round(algorithm.Match(str1, str2), 3);

            //  Assert
            Assert.AreEqual(1, result, "Expected an exact match, should return 1");
        }
        public void LcsPercentMinNoMatch()
        {
            //  Arrange
            var str1 = "Achany Estate";
            var str2 = "Aikengall";

            var algorithm = new LcSubstr();

            //  Act
            var result = Math.Round(algorithm.Match(str1, str2), 3);

            //  Assert
            Assert.AreEqual(0.111, result, "Expected an No match 0.111 (11.1%), because LCS is length 1 which is 11.1% of the input string 'aikengall'");
        }
        public void LcsPercentMinSimilarityMatch()
        {
            //  Arrange
            var str1 = "Hadyard Hill";
            var str2 = "Hadyard Hill, Barr";

            var algorithm = new LcSubstr();

            //  Act
            var result = Math.Round(algorithm.Match(str1, str2), 3);

            //  Assert
            Assert.AreEqual(1.0, result, "Expected an similarity match of 1.0 (100%) as Hadyard Hill is the longest common substring and is the same as the shortest input string");
        }