From 2ca6fefeef76fa2df8290889f721f7a0d64a93f7 Mon Sep 17 00:00:00 2001 From: Daniel Sword Date: Mon, 19 Nov 2018 20:01:30 -0800 Subject: [PATCH] Combinatorics: add test for InvertPermutation method. --- .../CombinatoricsTests/PermutationTests.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/Numerics.Tests/CombinatoricsTests/PermutationTests.cs b/src/Numerics.Tests/CombinatoricsTests/PermutationTests.cs index 95ff4bb5..67d1f4a2 100644 --- a/src/Numerics.Tests/CombinatoricsTests/PermutationTests.cs +++ b/src/Numerics.Tests/CombinatoricsTests/PermutationTests.cs @@ -25,5 +25,18 @@ namespace MathNet.Numerics.Tests.CombinatoricsTests } } + + [TestCase(2,5,0,1,4,3)] + public void InversePermutationInverts(params int[] permutation) + { + var identityPermutation = Enumerable.Range(0, permutation.Length).ToArray(); + var permuted = permutation.Select(p => identityPermutation[p]).ToArray(); + var inversePermutation = Combinatorics.InvertPermutation(permutation); + var shouldBeIdentity = inversePermutation.Select(p => permuted[p]).ToArray(); + + bool shouldBeTrue = _comparer.Equals(identityPermutation, shouldBeIdentity); + + Assert.IsTrue(shouldBeTrue); + } } }