Default IDatabasePopulator implementation.
Namespace:
TestFu.Data.PopulatorsAssembly: TestFu (in TestFu.dll) Version: 2.4.2.1515 (2.4.2.1515)
Syntax
| C# |
|---|
public class DatabasePopulator : IDatabasePopulator |
| Visual Basic (Declaration) |
|---|
Public Class DatabasePopulator _ Implements IDatabasePopulator |
Examples
This example shows how the data generator can be used to create unit tests on database. In this example, we setup the dummy DataSetUserOrderProductDatabase and the populator in the SetUp method.
using System; using System.Data; using MbUnit.Core.Framework; using MbUnit.Framework; using TestFu.Data; using TestFu.Data.Populators; namespace TestFu.Tests.Data { [TestFixture] public class DatabasePopulatorTest { private UserOrderProductDatabase db; private DatabasePopulator pop; private ITablePopulator users; private ITablePopulator orders; private ITablePopulator products; private ITablePopulator orderProducts; [SetUp] public void SetUp() { this.db=new UserOrderProductDatabase(); this.pop = new DatabasePopulator(); this.pop.Populate(this.db.DataSet); this.users=this.pop.Tables[this.db.Users]; this.orders=this.pop.Tables[this.db.Orders]; this.products=this.pop.Tables[this.db.Products]; this.orderProducts=this.pop.Tables[this.db.OrderProducts]; } [Test] public void AddOneUser() { DataRow row = users.Generate(); this.db.Users.Rows.Add(row); } [Test] public void AddOneUserOneOrder() { this.AddOneUser(); DataRow row = orders.Generate(); this.db.Orders.Rows.Add(row); } [Test] [ExpectedException(typeof(InvalidOperationException))] public void AddOneOrder() { DataRow row = orders.Generate(); } [Test] [ExpectedException(typeof(InvalidOperationException))] public void AddOneOrderProduct() { DataRow row = orderProducts.Generate(); } [Test] public void AddOneUserOneOrderOneProduct() { this.AddOneUserOneOrder(); DataRow row = products.Generate(); this.db.Products.Rows.Add(row); } [Test] public void AddOneUserOneOrderOneProductOneProductOrder() { this.AddOneUserOneOrderOneProduct(); DataRow row=orderProducts.Generate(); this.db.OrderProducts.Rows.Add(row); } [Test] public void AddTwoUsers() { AddOneUser(); AddOneUser(); } [TearDown] public void Check() { this.db.AcceptChanges(); Console.WriteLine(db.ToString()); } } }
Inheritance Hierarchy
System..::.Object
TestFu.Data.Populators..::.DatabasePopulator
TestFu.Data.Populators..::.DbDatabasePopulator
TestFu.Data.Populators..::.DatabasePopulator
TestFu.Data.Populators..::.DbDatabasePopulator
