public void Given_231_Then_312()
        {
            //Arrange
            var permutationGenerator = new NextGreaterPermutation();
            var actual = new int[] { 2, 3, 1 };
            var expected = new int[] { 3, 1, 2 };

            //Action
            permutationGenerator.NextPermutation(actual);

            //Assert
            CollectionAssert.AreEqual(expected, actual);
        }
        public void Given_NoNextGreaterPermutation321_Then_ReturnMinimumPermutation123()
        {
            //Arrange
            var permutationGenerator = new NextGreaterPermutation();
            var actual = new int[] { 3, 2, 1 };
            var expected = new int[] { 1, 2, 3 };

            //Action
            permutationGenerator.NextPermutation(actual);

            //Assert
            CollectionAssert.AreEqual(expected, actual);
        }
        //[TestMethod()]
        public void Given_5264_Then_5462()
        {
            //Arrange
            var permutationGenerator = new NextGreaterPermutation();
            var actual = new int[] { 7, 2, 6, 5, 4 };
            var expected = new int[] { 7, 4, 6, 5, 2 };

            //Action
            permutationGenerator.NextPermutation(actual);

            //Assert
            CollectionAssert.AreEqual(expected, actual);
        }