public void GivenOrderItem_WhenDeriving_ThenRequiredRelationsMustExist() { this.InstantiateObjects(this.DatabaseSession); var builder = new SalesOrderItemBuilder(this.DatabaseSession); var orderItem = builder.Build(); this.order.AddSalesOrderItem(orderItem); Assert.IsTrue(this.DatabaseSession.Derive().HasErrors); this.DatabaseSession.Rollback(); builder.WithProduct(this.good); orderItem = builder.Build(); this.order.AddSalesOrderItem(orderItem); Assert.IsFalse(this.DatabaseSession.Derive().HasErrors); builder.WithProductFeature(this.feature1); orderItem = builder.Build(); this.order.AddSalesOrderItem(orderItem); Assert.IsTrue(this.DatabaseSession.Derive().HasErrors); }