public void ShuffleTest(int[] source, int seed, int[] expected)
        {
            var list1 = new VSArray <int>(source);

            // Create new list, don't modify original
            var list2 = list1.GetShuffleElements(seed);

            Assert.That(list1, Is.EqualTo(source.ToVSArray()));
            Assert.That(list2, Is.EqualTo(expected.ToVSArray()));

            // Modify original (in-place)
            list1.ShuffleElements(seed);
            Assert.That(list1, Is.EqualTo(expected.ToList()));
            Assert.That(list1, Is.EqualTo(list2));
        }