NBuilder填充嵌套的hashset

时间:2018-02-19 15:28:03

标签: c# nbuilder

我正在尝试使用NBuilder(https://github.com/nbuilder/nbuilder)填充一些测试数据。

这是我的班级:

public class Person
{
    public string Name { get; set; }
    public HashSet<int> AssociatedIds { get; set; }
}

我想生成一个人员列表,他们有一个随机的整数列表,范围为1-50。我无法弄清楚如何指定NBuilder应该填充列表以及我应该如何设置约束。下面的代码使列表为空。

var people = Builder<Person>.CreateListOfSize(123).Build();

如何使用正确的范围填充嵌套的hashset?

1 个答案:

答案 0 :(得分:0)

找出一种方法:

        var people = Builder<Person>.CreateListOfSize(123)
            .All()
                .With(a => a.AssociatedIds = 
                    Enumerable.Range(0, 50)
                        .Select(x => new Tuple<int,int>(new Random().Next(1,1000), x))
                        .OrderBy(x => x.Item1)
                        .Take(new Random().Next(1,50))
                        .Select(x => x.Item2)
                        .ToHashSet())
            .Build();