public void When_persisting_a_complex_class_an_event_is_fired_for_each_class_instance() { var handler = new PersistCustomerHandler(); var order = new Order(); var customer = new Customer { FirstName = "john", LastName = "Wayne" }; order.Customer = customer; order.LineItems.Add(new LineItem { Price = 100, SKU = "XX1" }); order.LineItems.Add(new LineItem { Price = 200, SKU = "XX2" }); order.LineItems.Add(new LineItem { Price = 300, SKU = "XX3" }); order.LineItems.Add(new LineItem { Price = 400, SKU = "XX4" }); var identityMap = new Script().Database().Persist(order, handler); // There are 6 class instances that needed to be stored identityMap.Count.Should().Be(6); handler.GetTraceLog().Should().Be(@"OrderId: 1234 OrderId 1234 for Customer: john Wayne Line item: 1 with SKU XX1 Line item: 2 with SKU XX2 Line item: 3 with SKU XX3 Line item: 4 with SKU XX4"); }
public void When_persisting_a_simple_class_a_single_event_is_fired() { var handler = new PersistCustomerHandler(); var customer = new Customer { FirstName = "john", LastName = "Wayne" }; var identityMap = new Script().Database().Persist(customer, handler); handler.GetTraceLog().Should().Be("OrderId none for Customer: john Wayne"); }