示例#1
0
        public void CanUpdatePerson()
        {
            var options = new DbContextOptionsBuilder <AngularPeopleSearchContext>()
                          .UseInMemoryDatabase(databaseName: "CanUpdatePerson")
                          .Options;

            int expectedAge = 82;
            int personId;

            using (var context = new AngularPeopleSearchContext(options))
            {
                var personRepository = new PersonRepository(context);
                personId = personRepository.Add(People[0]);
            }

            using (var context2 = new AngularPeopleSearchContext(options))
            {
                var personRepository = new PersonRepository(context2);
                var updatedPerson    = personRepository.GetById(personId);
                updatedPerson.Age = expectedAge;

                personRepository.Update(updatedPerson);
            }

            using (var context3 = new AngularPeopleSearchContext(options))
            {
                var result = context3.Person;
                Assert.AreEqual(expectedAge, context3.Person.FirstAsync(p => p.PersonID == personId).Result.Age);
            }
        }
示例#2
0
        public void CanGetPeopleByName()
        {
            var options = new DbContextOptionsBuilder <AngularPeopleSearchContext>()
                          .UseInMemoryDatabase(databaseName: "CanGetPeopleByName")
                          .Options;

            var namePart = "ith";

            using (var context = new AngularPeopleSearchContext(options))
            {
                var personRepository = new PersonRepository(context);

                foreach (Person p in People)
                {
                    personRepository.Add(p);
                }
            }

            using (var context2 = new AngularPeopleSearchContext(options))
            {
                var personRepository = new PersonRepository(context2);
                var people           = personRepository.GetPeopleByNamePart(namePart);

                foreach (Person p in people.Result)
                {
                    Assert.IsTrue(p.FirstName.Contains(namePart) || p.LastName.Contains(namePart));
                }
            }
        }
示例#3
0
        public void CanGetById()
        {
            var options = new DbContextOptionsBuilder <AngularPeopleSearchContext>()
                          .UseInMemoryDatabase(databaseName: "CanGetPeopleById")
                          .Options;

            using (var context = new AngularPeopleSearchContext(options))
            {
                var personRepository = new PersonRepository(context);

                foreach (Person p in People)
                {
                    personRepository.Add(p);
                }
            }

            using (var context2 = new AngularPeopleSearchContext(options))
            {
                var personRepository = new PersonRepository(context2);

                var iD = context2.Person.FirstAsync().Result.PersonID;

                var person = personRepository.GetById(iD);

                Assert.IsNotNull(person);
                Assert.AreEqual(iD, person.PersonID);
            }
        }
示例#4
0
        public void CanAddPerson()
        {
            var options = new DbContextOptionsBuilder <AngularPeopleSearchContext>()
                          .UseInMemoryDatabase(databaseName: "CanInsertPerson")
                          .Options;

            var expectedFirstName = People[0].FirstName;

            using (var context = new AngularPeopleSearchContext(options))
            {
                var personRepository = new PersonRepository(context);
                personRepository.Add(People[0]);
            }

            using (var context2 = new AngularPeopleSearchContext(options))
            {
                var result = context2.Person;
                Assert.AreEqual(expectedFirstName, context2.Person.FirstAsync().Result.FirstName);
            }
        }
示例#5
0
        public void CanDeletePerson()
        {
            var options = new DbContextOptionsBuilder <AngularPeopleSearchContext>()
                          .UseInMemoryDatabase(databaseName: "CanDeletePerson")
                          .Options;

            using (var context = new AngularPeopleSearchContext(options))
            {
                var personRepository = new PersonRepository(context);
                personRepository.Add(People[0]);
            }

            using (var context2 = new AngularPeopleSearchContext(options))
            {
                var deleteID = context2.Person.FirstAsync().Result.PersonID;
                Assert.IsNotNull(context2.Person.Find(deleteID));

                var personRepository = new PersonRepository(context2);
                personRepository.Delete(deleteID);
                Assert.IsNull(context2.Person.Find(deleteID));
            }
        }
示例#6
0
        public void CanGetAllPeople()
        {
            var options = new DbContextOptionsBuilder <AngularPeopleSearchContext>()
                          .UseInMemoryDatabase(databaseName: "CanGetAllPeople")
                          .Options;

            using (var context = new AngularPeopleSearchContext(options))
            {
                var personRepository = new PersonRepository(context);

                foreach (Person p in People)
                {
                    personRepository.Add(p);
                }
            }

            using (var context2 = new AngularPeopleSearchContext(options))
            {
                var personRepository = new PersonRepository(context2);
                var people           = personRepository.GetAllPeople();

                Assert.AreEqual(People.Count, people.Result.Count);
            }
        }