Exemplo n.º 1
0
        public async Task ShouldRaiseQueryEvents()
        {
            var interceptor = new TestEntityManagerDelegate();
            CompositionContext contextWithEntityManagerDelegate = CompositionContext.Fake
                                                                  .WithGenerator(typeof(EntityManagerDelegate), () => interceptor)
                                                                  .WithName("ShouldRaiseQueryEvents");

            CompositionContextResolver.Add(contextWithEntityManagerDelegate);

            IEntityManagerProvider <NorthwindIBEntities> emp =
                EntityManagerProviderFactory.CreateTestEntityManagerProvider("ShouldRaiseQueryEvents");

            Assert.IsTrue(interceptor.QueriedRaised == 0);
            Assert.IsTrue(interceptor.QueryingRaised == 0);
            Assert.IsTrue(interceptor.FetchingRaised == 0);

            await InitFakeBackingStoreAsync(emp.ConnectionOptions.CompositionContext.Name);

            await emp.Manager.Customers.ExecuteAsync();

            Assert.IsTrue(interceptor.QueriedRaised > 0);
            Assert.IsTrue(interceptor.QueryingRaised > 0);
            Assert.IsTrue(interceptor.FetchingRaised > 0);

            Assert.IsTrue(interceptor.QueryingRaised < interceptor.FetchingRaised);
            Assert.IsTrue(interceptor.FetchingRaised < interceptor.QueriedRaised);
        }
Exemplo n.º 2
0
        public void ShouldRaiseClearedEvent()
        {
            var interceptor = new TestEntityManagerDelegate();
            CompositionContext contextWithEntityManagerDelegate = CompositionContext.Fake
                                                                  .WithGenerator(typeof(EntityManagerDelegate), () => interceptor)
                                                                  .WithName("ShouldRaiseClearedEvent");

            CompositionContextResolver.Add(contextWithEntityManagerDelegate);

            IEntityManagerProvider <NorthwindIBEntities> emp =
                EntityManagerProviderFactory.CreateTestEntityManagerProvider("ShouldRaiseClearedEvent");

            Assert.IsTrue(interceptor.ClearedRaised == 0);

            emp.Manager.Clear();

            Assert.IsTrue(interceptor.ClearedRaised > 0);
        }
Exemplo n.º 3
0
        public async Task ShouldRaiseSaveEvents()
        {
            var interceptor = new TestEntityManagerDelegate();
            CompositionContext contextWithEntityManagerDelegate = CompositionContext.Fake
                                                                  .WithGenerator(typeof(EntityManagerDelegate), () => interceptor)
                                                                  .WithName("ShouldRaiseSaveEvents");

            CompositionContextResolver.Add(contextWithEntityManagerDelegate);

            IEntityManagerProvider <NorthwindIBEntities> emp =
                EntityManagerProviderFactory.CreateTestEntityManagerProvider("ShouldRaiseSaveEvents");

            int entityChangedRaised = 0;

            emp.EntityChanged += (sender, args) => entityChangedRaised++;

            Assert.IsTrue(interceptor.SavingRaised == 0);
            Assert.IsTrue(interceptor.SavedRaised == 0);
            Assert.IsTrue(interceptor.EntityChangingRaised == 0);
            Assert.IsTrue(interceptor.EntityChangedRaised == 0);

            var customer = emp.Manager.CreateEntity <Customer>();

            emp.Manager.AddEntity(customer);
            customer.CompanyName = "Foo";

            await InitFakeBackingStoreAsync(emp.Manager.CompositionContext.Name);

            await emp.Manager.SaveChangesAsync();

            Assert.IsTrue(entityChangedRaised == 3);
            Assert.IsTrue(interceptor.SavingRaised > 0);
            Assert.IsTrue(interceptor.SavedRaised > 0);
            Assert.IsTrue(interceptor.EntityChangingRaised > 0);
            Assert.IsTrue(interceptor.EntityChangedRaised > 0);

            Assert.IsTrue(interceptor.EntityChangingRaised < interceptor.EntityChangedRaised);
            Assert.IsTrue(interceptor.SavingRaised < interceptor.SavedRaised);
            Assert.IsTrue(interceptor.SavingRaised < interceptor.EntityChangingRaised);
            Assert.IsTrue(interceptor.EntityChangedRaised < interceptor.SavedRaised);
        }
Exemplo n.º 4
0
        public async Task ShouldRaiseQueryEvents()
        {
            var interceptor = new TestEntityManagerDelegate();
            CompositionContext contextWithEntityManagerDelegate = CompositionContext.Fake
                .WithGenerator(typeof(EntityManagerDelegate), () => interceptor)
                .WithName("ShouldRaiseQueryEvents");
            CompositionContextResolver.Add(contextWithEntityManagerDelegate);

            IEntityManagerProvider<NorthwindIBEntities> emp =
                EntityManagerProviderFactory.CreateTestEntityManagerProvider("ShouldRaiseQueryEvents");

            Assert.IsTrue(interceptor.QueriedRaised == 0);
            Assert.IsTrue(interceptor.QueryingRaised == 0);
            Assert.IsTrue(interceptor.FetchingRaised == 0);

            await InitFakeBackingStoreAsync(emp.ConnectionOptions.CompositionContext.Name);
            await emp.Manager.Customers.ExecuteAsync();

            Assert.IsTrue(interceptor.QueriedRaised > 0);
            Assert.IsTrue(interceptor.QueryingRaised > 0);
            Assert.IsTrue(interceptor.FetchingRaised > 0);

            Assert.IsTrue(interceptor.QueryingRaised < interceptor.FetchingRaised);
            Assert.IsTrue(interceptor.FetchingRaised < interceptor.QueriedRaised);
        }
Exemplo n.º 5
0
        public void ShouldRaiseClearedEvent()
        {
            var interceptor = new TestEntityManagerDelegate();
            CompositionContext contextWithEntityManagerDelegate = CompositionContext.Fake
                .WithGenerator(typeof(EntityManagerDelegate), () => interceptor)
                .WithName("ShouldRaiseClearedEvent");
            CompositionContextResolver.Add(contextWithEntityManagerDelegate);

            IEntityManagerProvider<NorthwindIBEntities> emp =
                EntityManagerProviderFactory.CreateTestEntityManagerProvider("ShouldRaiseClearedEvent");

            Assert.IsTrue(interceptor.ClearedRaised == 0);

            emp.Manager.Clear();

            Assert.IsTrue(interceptor.ClearedRaised > 0);
        }
Exemplo n.º 6
0
        public async Task ShouldRaiseSaveEvents()
        {
            var interceptor = new TestEntityManagerDelegate();
            CompositionContext contextWithEntityManagerDelegate = CompositionContext.Fake
                .WithGenerator(typeof(EntityManagerDelegate), () => interceptor)
                .WithName("ShouldRaiseSaveEvents");
            CompositionContextResolver.Add(contextWithEntityManagerDelegate);

            IEntityManagerProvider<NorthwindIBEntities> emp =
                EntityManagerProviderFactory.CreateTestEntityManagerProvider("ShouldRaiseSaveEvents");

            int entityChangedRaised = 0;
            emp.EntityChanged += (sender, args) => entityChangedRaised++;

            Assert.IsTrue(interceptor.SavingRaised == 0);
            Assert.IsTrue(interceptor.SavedRaised == 0);
            Assert.IsTrue(interceptor.EntityChangingRaised == 0);
            Assert.IsTrue(interceptor.EntityChangedRaised == 0);

            var customer = emp.Manager.CreateEntity<Customer>();
            emp.Manager.AddEntity(customer);
            customer.CompanyName = "Foo";

            await InitFakeBackingStoreAsync(emp.Manager.CompositionContext.Name);
            await emp.Manager.SaveChangesAsync();

            Assert.IsTrue(entityChangedRaised == 3);
            Assert.IsTrue(interceptor.SavingRaised > 0);
            Assert.IsTrue(interceptor.SavedRaised > 0);
            Assert.IsTrue(interceptor.EntityChangingRaised > 0);
            Assert.IsTrue(interceptor.EntityChangedRaised > 0);

            Assert.IsTrue(interceptor.EntityChangingRaised < interceptor.EntityChangedRaised);
            Assert.IsTrue(interceptor.SavingRaised < interceptor.SavedRaised);
            Assert.IsTrue(interceptor.SavingRaised < interceptor.EntityChangingRaised);
            Assert.IsTrue(interceptor.EntityChangedRaised < interceptor.SavedRaised);
        }