/// <summary>
        /// Loads extra Person objects to improve testing
        /// </summary>
        /// <returns>
        /// List of <see cref="Person_ado"/> objects
        /// </returns>
        public static List <Person_ado> LoadExtraneousPersons()
        {
            List <Person_ado> personList = new List <Person_ado>();

            Person_ado extra1 = Person_ado.CreatePerson_ado(TestHelper.TestGuid2, "first 1", "last 1", 0, 1, true, true);

            extra1.PersonStatus = 1;
            extra1.OpenId       = "this is another openid";
            extra1.PhoneNumber  = "7uhkj,";
            extra1.EmailAddress = "*****@*****.**";
            LoadAdoObjects((IbaUnitTestEntities iba) =>
            {
                iba.AddToPerson_ado(extra1);
            });
            personList.Add(extra1);

            Person_ado extra2 = Person_ado.CreatePerson_ado(TestHelper.TestGuid3, "first 2", "last 2", 0, 1, true, true);

            extra2.PersonStatus = 2;
            extra2.OpenId       = "this is an openid";
            extra2.PhoneNumber  = "12346677888";
            extra2.EmailAddress = "*****@*****.**";
            LoadAdoObjects((IbaUnitTestEntities iba) =>
            {
                iba.AddToPerson_ado(extra2);
            });
            personList.Add(extra2);

            return(personList);
        }
        public void t_Person_Delete()
        {
            Person_ado personAdo = null;

            // backdoor data setup
            DbTestHelper.LoadAdoObjects(delegate(IbaUnitTestEntities iba)
            {
                personAdo = Person_ado.CreatePerson_ado(TestHelper.TestGuid1, "First Name", "Last Name", 1, 2, true, true);
                personAdo.EmailAddress = "asdf@adfasd";
                personAdo.PhoneNumber  = "(651) 646-8007";
                iba.AddToPerson_ado(personAdo);
            });
            List <Person_ado> personAdolist = DbTestHelper.LoadExtraneousPersons();

            PersonMapper.Delete(new Person()
            {
                Id = personAdo.PersonId
            });

            // Validate results
            using (IbaUnitTestEntities iba = new IbaUnitTestEntities())
            {
                var PersonQuery = from Persons in iba.Person_ado select Persons;
                Assert.IsNotNull(PersonQuery, "Query result is null");
                Assert.AreEqual(personAdolist.Count(), PersonQuery.Count(), "Wrong number of results in query");
                validateExtrapersonAdos(personAdolist, PersonQuery);
            }
        }
        public void t_Person_Select_ByGuid()
        {
            Person_ado personAdo = null;

            // backdoor data setup
            DbTestHelper.LoadAdoObjects(delegate(IbaUnitTestEntities iba)
            {
                personAdo = Person_ado.CreatePerson_ado(TestHelper.TestGuid1, "First Name", "Last Name", 1, 2, true, true);
                personAdo.EmailAddress   = "asdf@adfasd";
                personAdo.PhoneNumber    = "(651) 646-8007";
                personAdo.Address1       = "address1";
                personAdo.Address2       = "asddress 2";
                personAdo.City           = "city";
                personAdo.Country        = "cou    ";
                personAdo.HasBeenTrained = true;
                personAdo.HasClipboard   = true;
                personAdo.OpenId         = "httP;//www.googl.ecom/asdf.adsfae";
                personAdo.PersonRole     = 1;
                personAdo.PersonStatus   = 2;
                personAdo.State          = "TX";
                personAdo.ZipCode        = "55555";

                iba.AddToPerson_ado(personAdo);
            });
            List <Person_ado> extraList = DbTestHelper.LoadExtraneousPersons();

            // Exercise the test
            Person Person = PersonMapper.Select(personAdo.PersonId);

            validateResults(personAdo, Person);
        }
 /// <summary>
 /// Loads a single person into the database.
 /// </summary>
 /// <param name="firstName">The first name.</param>
 /// <param name="lastName">The last name.</param>
 /// <param name="id">The id.</param>
 public static void LoadSinglePerson(string firstName, string lastName, Guid id)
 {
     LoadAdoObjects((IbaUnitTestEntities iba) =>
     {
         Person_ado person = Person_ado.CreatePerson_ado(id, firstName, lastName, 0, 1, true, true);
         iba.Person_ado.AddObject(person);
         iba.SaveChanges();
     });
 }
        public void t_Person_Save_Update()
        {
            Person_ado personAdo = null;

            // backdoor data setup
            DbTestHelper.LoadAdoObjects(delegate(IbaUnitTestEntities iba)
            {
                personAdo = Person_ado.CreatePerson_ado(TestHelper.TestGuid1, "First Name", "Last Name", 0, 0, true, true);
                personAdo.EmailAddress   = "asdf@adfasd";
                personAdo.PhoneNumber    = "(651) 646-8007";
                personAdo.Address1       = "address1";
                personAdo.Address2       = "asddress 2";
                personAdo.City           = "city";
                personAdo.Country        = "cou    ";
                personAdo.HasBeenTrained = true;
                personAdo.HasClipboard   = true;
                personAdo.OpenId         = "httP;//www.googl.ecom/asdf.adsfae";
                personAdo.PersonRole     = 1;
                personAdo.PersonStatus   = 2;
                personAdo.State          = "TX";
                personAdo.ZipCode        = "55555";

                iba.AddToPerson_ado(personAdo);
            });
            List <Person_ado> extraList = DbTestHelper.LoadExtraneousPersons();

            // Setup object to be saved. Change everything except the Id.
            Person Person = new Person()
            {
                Id             = TestHelper.TestGuid1,
                FirstName      = "First Name 2",
                LastName       = "Last Nam 2e",
                EmailAddress   = "asdf@adfasd 2",
                PhoneNumber    = "(651) 646-8888",
                Address1       = "address1",
                Address2       = "asddress 2",
                City           = "city",
                Country        = "cou    ",
                HasBeenTrained = true,
                HasClipboard   = true,
                OpenId         = "httP;//www.googl.ecom/asdf.adsfae",
                PersonRole     = Role.Administrator,
                PersonStatus   = Status.Active,
                State          = "TX",
                ZipCode        = "55555"
            };

            // Execute the test
            PersonMapper.Update(Person);

            // Validate results
            using (IbaUnitTestEntities iba = new IbaUnitTestEntities())
            {
                var PersonQuery = from Persons in iba.Person_ado select Persons;
                Assert.IsNotNull(PersonQuery, "Query result is null");
                Assert.AreEqual(extraList.Count() + 1, PersonQuery.Count(), "Wrong number of results in query");
                Person_ado adoPerson = PersonQuery.First(x => x.PersonId == TestHelper.TestGuid1);
                validateObjectEquality(Person, adoPerson);

                validateExtrapersonAdos(extraList, PersonQuery);
            }
        }