public void testGeneration()
        {
            IList <IList <string> > generatedStrings = new List <IList <string> >();

            CombinationGenerator.generate(
                new List <string>()
            {
                "a", "b"
            },
                new List <string>(),
                generatedStrings,
                2
                );

            Assert.AreEqual(4, generatedStrings.Count);

            foreach (var generatedString in generatedStrings)
            {
                Assert.AreEqual(2, generatedString.Count);
            }

            Assert.AreEqual(new List <string> {
                "a", "a"
            }, generatedStrings[0]);
            Assert.AreEqual(new List <string> {
                "a", "b"
            }, generatedStrings[1]);
            Assert.AreEqual(new List <string> {
                "b", "a"
            }, generatedStrings[2]);
            Assert.AreEqual(new List <string> {
                "b", "b"
            }, generatedStrings[3]);
        }