public void CreateFilledPermutationWithGapsTest_FourElement()
        {
            // [true, false, true, true]
            int[] hintData = new int[] { 4, 5, 3, 2 };
            var   length   = 17;
            var   result   = PermutationGenerator.CreateFilledPermutationWithGaps(hintData, length);

            Assert.Equal(length, result.Count);
            Assert.Equal(true, result[0]);
            Assert.Equal(true, result[1]);
            Assert.Equal(true, result[2]);
            Assert.Equal(true, result[3]);

            Assert.Equal(false, result[4]);

            Assert.Equal(true, result[5]);
            Assert.Equal(true, result[6]);
            Assert.Equal(true, result[7]);
            Assert.Equal(true, result[8]);
            Assert.Equal(true, result[9]);

            Assert.Equal(false, result[10]);

            Assert.Equal(true, result[11]);
            Assert.Equal(true, result[12]);
            Assert.Equal(true, result[13]);

            Assert.Equal(false, result[14]);

            Assert.Equal(true, result[15]);
            Assert.Equal(true, result[16]);
        }
        public void CreateFilledPermutationWithGapsTest_TwoElement()
        {
            // [true, false, true, true]
            int[] hintData = new int[] { 1, 2 };
            var   length   = 4;
            var   result   = PermutationGenerator.CreateFilledPermutationWithGaps(hintData, length);

            Assert.Equal(length, result.Count);
            Assert.Equal(true, result[0]);
            Assert.Equal(false, result[1]);
            Assert.Equal(true, result[2]);
            Assert.Equal(true, result[3]);
        }