public void Multiple_contexts_can_be_combined_together() { var objectContext1 = new ObjectContext(); var context1 = CreateDbContext(objectContext1); var objectContext2 = new ObjectContext(); var context2 = CreateDbContext(objectContext2); var interceptionContext1 = new DbInterceptionContext() .WithDbContext(context1) .WithDbContext(context2) .WithObjectContext(objectContext1); var interceptionContext2 = interceptionContext1 .WithDbContext(context2) .WithObjectContext(objectContext1) .WithObjectContext(objectContext2); var combined = DbInterceptionContext.Combine(new[] { interceptionContext1, interceptionContext2 }); Assert.Equal(2, combined.DbContexts.Count()); Assert.Equal(2, combined.ObjectContexts.Count()); Assert.Contains(context1, combined.DbContexts); Assert.Contains(context2, combined.DbContexts); Assert.Contains(objectContext1, combined.ObjectContexts); Assert.Contains(objectContext2, combined.ObjectContexts); }
public void Combine_throws_for_null_arg() { Assert.Equal( "interceptionContexts", Assert.Throws <ArgumentNullException>(() => DbInterceptionContext.Combine(null)).ParamName); }