public void VariantsToStringsLists_VariantsCount0()
        {
            var marksAdderMock = new Mock <ILetterChanger>();

            var variants = new NGramVariants(new NGram(5, new List <string> {
                "jest", "ok"
            }), marksAdderMock.Object);
            var result = variants.VariantsToStringsLists();

            Assert.Null(result);
        }
        public void VariantsToStringsLists_Normal()
        {
            var marksAdderMock = new Mock <ILetterChanger>();

            marksAdderMock.Setup(m => m.Start("jest", It.IsAny <int>())).Returns(new List <KeyValuePair <string, int> >
            {
                new KeyValuePair <string, int>("jest", 0),
                new KeyValuePair <string, int>("jęst", 1),
                new KeyValuePair <string, int>("jeśt", 1),
                new KeyValuePair <string, int>("jęśt", 2),
            });

            marksAdderMock.Setup(m => m.Start("ktora", It.IsAny <int>())).Returns(new List <KeyValuePair <string, int> >
            {
                new KeyValuePair <string, int>("ktora", 0),
                new KeyValuePair <string, int>("która", 1),
                new KeyValuePair <string, int>("którą", 2),
            });

            var variantsResult = new List <List <string> >
            {
                new List <string> {
                    "jest"
                },
                new List <string> {
                    "która", "którą"
                }
            };

            var variants = new NGramVariants(new NGram(5, new List <string> {
                "jest", "ktora"
            }), marksAdderMock.Object);

            variants.CreateVariants(new List <string> {
                "jest", "która", "którą"
            });
            var result = variants.VariantsToStringsLists();

            Assert.Equal(variantsResult, result);
        }