Viyi.Util.Test/Utils/TestRandomAndShuffle.cs

(完整代码) 900B

using Viyi.Util.Linq;
using Xunit;
using Xunit.Abstractions;

namespace Viyi.Util.Test.Utils;

public class TestRandomAndShuffle {
    readonly ITestOutputHelper output;

    public TestRandomAndShuffle(ITestOutputHelper output) {
        this.output = output;
    }

    [Fact]
    public void TestRandomIndexes() {
        var random = ViyiRandom.Create();

        Assert.Equal(Array.Empty<int>(), ViyiRandom.RandomIndexes(0));
        Assert.Equal(new int[] { 0 }, ViyiRandom.RandomIndexes(1));

        Enumerable.Range(0, 10)
            .ForEach(_ => {
                var n = random.Next(2, 30);
                var expect = Enumerable.Range(0, n).ToArray();
                var rIndexes = ViyiRandom.RandomIndexes(n);
                output.WriteLine(string.Join(",", rIndexes));

                Array.Sort(rIndexes);
                Assert.Equal(expect, rIndexes);
            });
    }
}

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。