public void CountLcsLength_WhenDifferent_ThenZero()
        {
            // when
            int result = LongestCommonSubsequence.CountLcsLength("qwertyuiop", "asdfghjkl");

            // then
            result.Should().Be(0);
        }
        public void CountLcsLength_WhenCommonSubtext_ThenCommonSubtextLength()
        {
            // when
            int result = LongestCommonSubsequence.CountLcsLength("qwertyuiop", "zxrtyasdfuiopcvb");

            // then
            result.Should().Be("rtyuiop".Length);
        }
        public void CountLcsLength_WhenRepeatedSingleElement_ThenOne()
        {
            // when
            int result = LongestCommonSubsequence.CountLcsLength("abcde", "eeee");

            // then
            result.Should().Be(1);
        }
        public void CountLcsLength_WhenEmptyText_ThenZero()
        {
            // when
            int result = LongestCommonSubsequence.CountLcsLength("qwertyuiop", "");

            // then
            result.Should().Be(0);
        }
        public void CountLcsLength_WhenSameSequence_ThenSequenceLength()
        {
            // given
            var sequence = "qwertyuiop".Select(c => (int)c).ToList();
            // when
            int result = LongestCommonSubsequence.CountLcsLength(sequence, sequence);

            // then
            result.Should().Be(sequence.Count);
        }
        public void CountLcsLength_WhenSameElementSequence_ThenShorterLength()
        {
            // given
            var sequence = Enumerable.Repeat(11, 25).ToList();
            // when
            int result = LongestCommonSubsequence.CountLcsLength(sequence, sequence.Concat(sequence).ToList());

            // then
            result.Should().Be(sequence.Count);
        }
        public void CountLcsLength_WhenSameText_ThenTextLength()
        {
            // given
            string text = "qwertyuiop";
            // when
            int result = LongestCommonSubsequence.CountLcsLength(text, text);

            // then
            result.Should().Be(text.Length);
        }
        public void CountLcsLength_WhenSameCharacterText_ThenShorterLength()
        {
            // given
            string text = "xxxx";
            // when
            int result = LongestCommonSubsequence.CountLcsLength(text + text, text);

            // then
            result.Should().Be(text.Length);
        }
        public void CountLcsLength_WhenCommonSubsequence_ThenCommonSubsequenceLength()
        {
            // when
            int result = LongestCommonSubsequence.CountLcsLength(
                "qwertyuiop".Select(c => (int)c).ToList(),
                "zxrtyasdfuiopcvb".Select(c => (int)c).ToList());

            // then
            result.Should().Be("rtyuiop".Length);
        }