本文整理汇总了C#中Builder.CreateNew方法的典型用法代码示例。如果您正苦于以下问题:C# Builder.CreateNew方法的具体用法?C# Builder.CreateNew怎么用?C# Builder.CreateNew使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Builder
的用法示例。
在下文中一共展示了Builder.CreateNew方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CallingMultipleMethods
public void CallingMultipleMethods()
{
var builderSetup = new BuilderSettings();
var builder = new Builder(builderSetup);
var child = builder.CreateNew< Category>().Build();
var anotherChild = builder.CreateNew< Category>().Build();
var category = builder
.CreateNew< Category>()
.Do(x => x.AddChild(child))
.And(x => x.AddChild(anotherChild))
.Build();
Assert.That(category.Children[0], Is.EqualTo(child));
Assert.That(category.Children[1], Is.EqualTo(anotherChild));
}
示例2: CreatingAClassThatHasAConstructorUsingLegacySyntax
public void CreatingAClassThatHasAConstructorUsingLegacySyntax()
{
var builder = new Builder();
var basket = builder.CreateNew< ShoppingBasket>().Build();
var product = builder.CreateNew< Product>().Build();
const int quantity = 5;
// BasketItem's ctor: BasketItem(ShoppingBasket basket, Product product, int quantity)
var basketItem = new Builder()
.CreateNew< BasketItem>()
.WithConstructor(() => new BasketItem(basket, product, quantity))
.Build();
// The property namer will still apply sequential names to the properties
// however it won't overwrite any properties that have been set through the constructor
Assert.That(basketItem.DiscountCode, Is.EqualTo("DiscountCode1"));
Assert.That(basketItem.Basket, Is.EqualTo(basket));
Assert.That(basketItem.Product, Is.EqualTo(product));
Assert.That(basketItem.Quantity, Is.EqualTo(quantity));
}
示例3: PersistingASingleTaxTypeAndAListOf100Products
public void PersistingASingleTaxTypeAndAListOf100Products()
{
var builder = new Builder(builderSettings);
var taxType = builder.CreateNew<TaxType>().Persist();
builder.CreateListOfSize<Product>(100)
.All()
.With(x => x.TaxType = taxType)
.Persist(); // NB: Persistence is setup in the RepositoryBuilderSetup class
var dbProducts = Database.GetContentsOf(Database.Tables.Product);
Assert.That(dbProducts.Rows.Count, Is.EqualTo(100));
}
示例4: CreatingAHierarchyOfCategoriesUsingRepositories
public void CreatingAHierarchyOfCategoriesUsingRepositories()
{
var builderSetup = new RepositoryBuilderSetup().SetUp();
const int depth = 3;
const int minChildren = 3;
const int maxChildren = 8;
var builder = new Builder(builderSetup);
var hierarchySpec = builder.CreateNew<HierarchySpec<Category>>()
.With(x => x.AddMethod = (parent, child) => parent.AddChild(child))
.With(x => x.Depth = depth)
.With(x => x.MinimumChildren = minChildren)
.With(x => x.MaximumChildren = maxChildren)
.With(x => x.NamingMethod = (parent, child) => parent.Title = "Category " + child)
.With(x => x.NumberOfRoots = 5)
.Build();
var categories = builder
.CreateListOfSize<Category>(10000)
.All()
.PersistHierarchy(hierarchySpec);
foreach (var root in categories)
{
Assert.That(root.Children.Count, Is.AtLeast(minChildren));
Assert.That(root.Children.Count, Is.AtMost(maxChildren));
foreach (var child1 in root.Children)
{
Assert.That(child1.Children.Count, Is.AtLeast(minChildren));
Assert.That(child1.Children.Count, Is.AtMost(maxChildren));
foreach (var child2 in child1.Children)
{
Assert.That(child2.Children.Count, Is.AtLeast(minChildren));
Assert.That(child2.Children.Count, Is.AtMost(maxChildren));
}
}
}
}
示例5: UsingMultiFunctions
public void UsingMultiFunctions()
{
var builderSetup = new BuilderSettings();
var builder = new Builder(builderSetup);
var categories = builder.CreateListOfSize< Category>(5).Build();
var product = builder
.CreateNew< Product>()
.DoForAll( (prod, cat) => prod.AddToCategory(cat), categories)
.Build();
// Assertions are intentionally verbose for clarity
Assert.That(product.Categories.Count, Is.EqualTo(5));
Assert.That(product.Categories[0], Is.EqualTo(categories[0]));
Assert.That(product.Categories[1], Is.EqualTo(categories[1]));
Assert.That(product.Categories[2], Is.EqualTo(categories[2]));
Assert.That(product.Categories[3], Is.EqualTo(categories[3]));
Assert.That(product.Categories[4], Is.EqualTo(categories[4]));
}
示例6: UsingDo
public void UsingDo()
{
var builder = new Builder();
var child = builder.CreateNew< Category>().Build();
var category = builder
.CreateNew< Category>()
.Do(x => x.AddChild(child))
.Build();
Assert.That(category.Children[0], Is.EqualTo(child));
}
示例7: CreatingAListOfATypeWithAConstructor
public void CreatingAListOfATypeWithAConstructor()
{
var builderSetup = new BuilderSettings();
// ctor: BasketItem(ShoppingBasket basket, Product product, int quantity)
var builder = new Builder(builderSetup);
var basket = builder.CreateNew<ShoppingBasket>().Build();
var product = builder.CreateNew<Product>().Build();
const int quantity = 5;
var basketItems =
builder.CreateListOfSize<BasketItem>(10)
.All()
.WithConstructor(() => new BasketItem(basket, product, quantity)) // passes these arguments to the constructor
.Build();
foreach (var basketItem in basketItems)
{
Assert.That(basketItem.Basket, Is.EqualTo(basket));
Assert.That(basketItem.Product, Is.EqualTo(product));
Assert.That(basketItem.Quantity, Is.EqualTo(quantity));
}
}