コード例 #1
0
        public void ShouldHaveNoItems()
        {
            var interactingDataContext = new InMemoryActiveDataContext();

            interactingDataContext.Add(new Person());

            IDataContext queryingDataContext = new InMemoryActiveDataContext();

            queryingDataContext.AsQueryable <Person>().Count().Should().Be(0);
        }
コード例 #2
0
        public void Initialize()
        {
            var dataContext = new InMemoryActiveDataContext();

            dataContext = new InMemoryActiveDataContext();
            dataContext.Add(new Person {
                FirstName = "Bob"
            });
            dataContext.Commit();
        }
コード例 #3
0
        public void ShouldNotRemoveItem()
        {
            var interactingDataContext = new InMemoryActiveDataContext();
            var person = interactingDataContext.AsQueryable <Person>().Single();

            interactingDataContext.Remove(person);

            IDataContext queryingDataContext = new InMemoryActiveDataContext();

            queryingDataContext.AsQueryable <Person>().Count().Should().Be(1);
        }
コード例 #4
0
        public void Initialize()
        {
            var dataContext = new InMemoryActiveDataContext();

            dataContext = new InMemoryActiveDataContext();
            dataContext.Add(new Parent {
                FirstName = "Bob", Child = new Child {
                    FirstName = "Bobby"
                }
            });
            dataContext.Commit();
        }
コード例 #5
0
        public void ShouldHaveItemsWhenCommitted()
        {
            var interactingDataContext = new InMemoryActiveDataContext();

            interactingDataContext.Add(new Parent {
                Child = new Child()
            });
            interactingDataContext.Commit();

            IDataContext queryingDataContext = new InMemoryActiveDataContext();

            queryingDataContext.AsQueryable <Child>().Count().Should().Be(1);
        }
コード例 #6
0
        public void ShouldUpdatePrimitivePropertyFromMinion()
        {
            var interactingDataContext = new InMemoryActiveDataContext();
            var minion = interactingDataContext.AsQueryable <Minion>().Single();

            minion.FirstName = "Monkey";
            interactingDataContext.Commit();

            IDataContext queryingDataContext = new InMemoryActiveDataContext();
            var          queriedBoss         = queryingDataContext.AsQueryable <Boss>().Single();

            queriedBoss.Minions.Single().FirstName.Should().Be("Monkey");
        }
コード例 #7
0
        public void ShouldUpdatePrimitivePropertyFromChild()
        {
            var interactingDataContext = new InMemoryActiveDataContext();
            var child = interactingDataContext.AsQueryable <Child>().Single();

            child.FirstName = "Monkey";
            interactingDataContext.Commit();

            IDataContext queryingDataContext = new InMemoryActiveDataContext();
            var          queriedParent       = queryingDataContext.AsQueryable <Parent>().Single();

            queriedParent.Child.FirstName.Should().Be("Monkey");
        }
コード例 #8
0
        public void ShouldRemoveMinionFromCollection()
        {
            var interactingDataContext = new InMemoryActiveDataContext();
            var boss = interactingDataContext.AsQueryable <Boss>().Single();

            boss.Minions.Clear();
            interactingDataContext.Commit();

            IDataContext queryingDataContext = new InMemoryActiveDataContext();

            queryingDataContext.AsQueryable <Minion>().Count().Should().Be(0);
            queryingDataContext.AsQueryable <Boss>().Single().Minions.Count().Should().Be(0);
        }
コード例 #9
0
        public void ShouldNotRemoveBoss()
        {
            var interactingDataContext = new InMemoryActiveDataContext();
            var minion = interactingDataContext.AsQueryable <Minion>().Single();

            interactingDataContext.Remove(minion);
            interactingDataContext.Commit();

            IDataContext queryingDataContext = new InMemoryActiveDataContext();

            queryingDataContext.AsQueryable <Boss>().Count().Should().Be(1);
            queryingDataContext.AsQueryable <Minion>().Count().Should().Be(0);
        }
コード例 #10
0
        public void ShouldNotRemoveParent()
        {
            var interactingDataContext = new InMemoryActiveDataContext();
            var child = interactingDataContext.AsQueryable <Child>().Single();

            interactingDataContext.Remove(child);
            interactingDataContext.Commit();

            IDataContext queryingDataContext = new InMemoryActiveDataContext();

            queryingDataContext.AsQueryable <Parent>().Count().Should().Be(1);
            queryingDataContext.AsQueryable <Child>().Count().Should().Be(0);
        }
コード例 #11
0
        public void ShouldHaveSameChildFromParent()
        {
            var interactingDataContext = new InMemoryActiveDataContext();
            var parent = interactingDataContext.AsQueryable <Parent>().Single();

            parent.Child.FirstName = "Monkey";
            interactingDataContext.Commit();

            IDataContext queryingDataContext = new InMemoryActiveDataContext();
            var          queriedChild        = queryingDataContext.AsQueryable <Child>().Single();
            var          queriedParent       = queryingDataContext.AsQueryable <Parent>().Single();

            queriedChild.Should().BeSameAs(queriedParent.Child);
        }
コード例 #12
0
        public void Initialize()
        {
            var dataContext = new InMemoryActiveDataContext();

            dataContext = new InMemoryActiveDataContext();
            dataContext.Add(new Boss {
                FirstName = "Bob", Minions = new List <Minion> {
                    new Minion {
                        FirstName = "Bobby 1"
                    }
                }
            });
            dataContext.Commit();
        }
コード例 #13
0
        public void ShouldUpdatePrimitiveProperty()
        {
            var interactingDataContext = new InMemoryActiveDataContext();
            var person = interactingDataContext.AsQueryable <Person>().Single();

            person.FirstName = "Monkey";
            interactingDataContext.Commit();

            IDataContext queryingDataContext = new InMemoryActiveDataContext();

            queryingDataContext.AsQueryable <Person>();

            queryingDataContext.AsQueryable <Person>().Single().FirstName.Should().Be("Monkey");
        }
コード例 #14
0
        public void ShouldHaveSameChildFromBoss()
        {
            var interactingDataContext = new InMemoryActiveDataContext();
            var boss = interactingDataContext.AsQueryable <Boss>().Single();

            boss.Minions.Single().FirstName = "Monkey";
            interactingDataContext.Commit();

            IDataContext queryingDataContext = new InMemoryActiveDataContext();
            var          queriedMinion       = queryingDataContext.AsQueryable <Minion>().Single();
            var          queriedBoss         = queryingDataContext.AsQueryable <Boss>().Single();

            queriedMinion.Should().BeSameAs(queriedBoss.Minions.Single());
        }
コード例 #15
0
        public void ShouldHaveItemsWhenCommitted()
        {
            var interactingDataContext = new InMemoryActiveDataContext();

            interactingDataContext.Add(new Boss {
                Minions = new List <Minion> {
                    new Minion(), new Minion()
                }
            });
            interactingDataContext.Commit();

            IDataContext queryingDataContext = new InMemoryActiveDataContext();

            queryingDataContext.AsQueryable <Minion>().Count().Should().Be(2);
        }
コード例 #16
0
        public void ShouldHaveItemBeEquivalentNotSame()
        {
            var interactingDataContext = new InMemoryActiveDataContext();
            var originalPerson         = new Person {
                FirstName = "Bob"
            };

            interactingDataContext.Add(originalPerson);
            interactingDataContext.Commit();

            IDataContext queryingDataContext = new InMemoryActiveDataContext();
            var          queriedPerson       = queryingDataContext.AsQueryable <Person>().Single();

            queriedPerson.ShouldBeEquivalentTo(originalPerson);
            queriedPerson.Should().NotBeSameAs(originalPerson);
        }
コード例 #17
0
        public void ShouldHaveChildItemBeEquivalentNotSame()
        {
            var interactingDataContext = new InMemoryActiveDataContext();
            var parent = new Parent {
                FirstName = "Bob", Child = new Child {
                    FirstName = "Bobby"
                }
            };

            interactingDataContext.Add(parent);
            interactingDataContext.Commit();

            IDataContext queryingDataContext = new InMemoryActiveDataContext();
            var          queriedChild        = queryingDataContext.AsQueryable <Child>().Single();

            queriedChild.ShouldBeEquivalentTo(parent.Child);
            queriedChild.Should().NotBeSameAs(parent.Child);
        }
コード例 #18
0
        public void ShouldAddMinion()
        {
            var interactingDataContext = new InMemoryActiveDataContext();
            var boss = interactingDataContext.AsQueryable <Boss>().Single();
            var dog  = new Minion {
                FirstName = "Dog"
            };

            boss.Minions.Add(dog);
            interactingDataContext.Commit();

            IDataContext queryingDataContext = new InMemoryActiveDataContext();

            queryingDataContext.AsQueryable <Minion>().Count().Should().Be(2);

            var queriedDog = queryingDataContext.AsQueryable <Minion>().Single(m => m.Id == dog.Id);

            queriedDog.ShouldBeEquivalentTo(dog);
            queriedDog.Should().NotBeSameAs(dog);
        }
コード例 #19
0
        public void ShouldHaveChildItemBeEquivalentNotSame()
        {
            var interactingDataContext = new InMemoryActiveDataContext();
            var boss = new Boss {
                FirstName = "Bob", Minions = new List <Minion> {
                    new Minion {
                        FirstName = "Bobby 1"
                    }
                }
            };

            interactingDataContext.Add(boss);
            interactingDataContext.Commit();

            IDataContext queryingDataContext = new InMemoryActiveDataContext();
            var          queriedMinion       = queryingDataContext.AsQueryable <Minion>().Single();

            queriedMinion.ShouldBeEquivalentTo(boss.Minions.Single());
            queriedMinion.Should().NotBeSameAs(boss.Minions.Single());
        }
コード例 #20
0
 public void Cleanup()
 {
     InMemoryActiveDataContext.DropRepository();
 }