[Nugsoft-commits] nugsoft/nUGSoft.Entities.Tests PersonTests.cs,1.4,1.5
Brought to you by:
javery,
jimholmesoh
|
From: Jim H. <jim...@us...> - 2005-12-04 03:56:11
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoft.Entities.Tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3024/nUGSoft.Entities.Tests Modified Files: PersonTests.cs Log Message: Refactored out initializations to TestFactory class. Added comparator tests, update, delete of one from many. Index: PersonTests.cs =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoft.Entities.Tests/PersonTests.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** PersonTests.cs 22 Nov 2005 21:20:09 -0000 1.4 --- PersonTests.cs 4 Dec 2005 03:56:02 -0000 1.5 *************** *** 38,47 **** try { ! _person = new Person(); ! _person.FName = "James"; ! _person.LName = "Avery"; ! _person.DateJoined = DateTime.Now; ! _person.Approved = true; ! _person.EMail = "ja...@in..."; _person.Save(); --- 38,42 ---- try { ! _person = TestFactory.CreateDefaultPerson(); _person.Save(); *************** *** 50,53 **** --- 45,63 ---- _pType.Save(); } + catch (NHibernate.ADOException ax) + { + //Violation of Unique Key is OK, die if other cause + string msg = ax.InnerException.Message; + if (!msg.Contains("Violation of UNIQUE KEY")) + { + Assert.Fail("Unexpected Inner Exception: " + msg); + } + else + { + //grab entity from db to load proper ID value + _pType = (PersonType)PersonType.FindSingle<PersonType>( + "from PersonType pType where pType.TypeName = 'Member'"); + } + } catch (Exception ex) { *************** *** 93,97 **** { //create a new person ! Person p1 = CreateDefaultPerson(); //associate with "Member" p1.PersonTypes.Add(PersonType.GetMemberRecord()); --- 103,107 ---- { //create a new person ! Person p1 = TestFactory.CreateDefaultPerson(); //associate with "Member" p1.PersonTypes.Add(PersonType.GetMemberRecord()); *************** *** 101,105 **** int p1ID = p1.Id; //create another new person ! Person p2 = CreateDefaultPerson(); p2.FName = "Different"; //associate with member --- 111,115 ---- int p1ID = p1.Id; //create another new person ! Person p2 = TestFactory.CreateDefaultPerson(); p2.FName = "Different"; //associate with member *************** *** 111,116 **** //create another new person ! Person p3 = CreateDefaultPerson(); ! p3.FName = "Different"; p3.Approved = true; //associate with member --- 121,126 ---- //create another new person ! Person p3 = TestFactory.CreateDefaultPerson(); ! p3.FName = "MoreDifferent"; p3.Approved = true; //associate with member *************** *** 122,127 **** //Create a list of Person ! IList peeps = new ArrayList(Person.GetUnapprovedMembers()); ! Assert.IsTrue(peeps.Contains(p1), "P1 Not in list"); Assert.IsTrue(peeps.Contains(p2), "P2 Not in list"); --- 132,138 ---- //Create a list of Person ! IList<Person> peeps = new List<Person>(Person.GetUnapprovedMembers()); ! ! Assert.IsTrue(peeps.Contains(p1), "P1 Not in list"); Assert.IsTrue(peeps.Contains(p2), "P2 Not in list"); *************** *** 264,267 **** --- 275,397 ---- #endregion + + #region Comparator Tests + + /// <summary> + /// Checks Equals() methods work when default values are set in entity. + /// Written after finding comparison of Photo failed when member was null. + /// </summary> + [Test] + public void CheckEqualsDefaultValuesPasses() + { + Person left = new Person(); + Person right = new Person(); + Assert.AreEqual(true, left.Equals(right), "Equal with defaults"); + + } + + /// <summary> + /// Checks Equals() methods work when default values are set in entity. + /// Written after finding comparison of Photo failed when member was null. + /// </summary> + [Test] + public void CheckEqualsPhotosNullsFails() + { + Person left = new Person(); + Person right = new Person(); + + byte[] ba = new byte[1]; + ba[0] = 0xA; + right.Photo = ba; + Assert.AreEqual(false, left.Equals(right), "Right.Photo not null"); + + right.Photo = null; + left.Photo = ba; + Assert.AreEqual(false, left.Equals(right), "Left.Photo not null"); + + } + + [Test] + public void CheckEqualsPasses() + { + + Person left = TestFactory.CreateDefaultPerson(); + Person right = TestFactory.CreateDefaultPerson(); + Assert.AreEqual(true, left.Equals(right), "Left/Right Equal"); + + } + [Test] + public void CheckEqualsFails() + { + + Person left = TestFactory.CreateDefaultPerson(); + Person right = TestFactory.CreateDefaultPerson(); + + right = TestFactory.CreateDefaultPerson(); + right.FName = "bogus"; + Assert.AreEqual(false, left.Equals(right), "FName invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.LName = "bogus"; + Assert.AreEqual(false, left.Equals(right), "LName invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.EMail = "bogus"; + Assert.AreEqual(false, left.Equals(right), "E-mail invalid"); + + right = TestFactory.CreateDefaultPerson(); + + DateTime tmp = DateTime.Now; + right.DateJoined = tmp.AddHours(2); + Assert.AreEqual(false, left.Equals(right), "DateJoined invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.Approved = true; + Assert.AreEqual(false, left.Equals(right), "IsApproved invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.HowFound = "bogus"; + Assert.AreEqual(false, left.Equals(right), "HowFound invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.PrimaryPhone = "bogus"; + Assert.AreEqual(false, left.Equals(right), "PrimaryPhone invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.AltPhone = "bogus"; + Assert.AreEqual(false, left.Equals(right), "Alt Phone invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.TopicsList = "bogus"; + Assert.AreEqual(false, left.Equals(right), "Topics invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.WebsiteURL = "bogus"; + Assert.AreEqual(false, left.Equals(right), "Website invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.BlogURL = "bogus"; + Assert.AreEqual(false, left.Equals(right), "Blog invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.Photo[0] = 0x6; + Assert.AreEqual(false, left.Equals(right), "Photo invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.Bio = "bogus"; + Assert.AreEqual(false, left.Equals(right), "Bio invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.UnmoderatedEvent = true; + Assert.AreEqual(false, left.Equals(right), "IsUnmodEvent invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.UnmoderatedPost = true; + Assert.AreEqual(false, left.Equals(right), "IsUnmodPost invalid"); + + } + + + #endregion /// <summary> *************** *** 273,277 **** { //create a new person ! Person p1 = CreateDefaultPerson(); //associate with "Member" p1.PersonTypes.Add(PersonType.GetMemberRecord()); --- 403,407 ---- { //create a new person ! Person p1 = TestFactory.CreateDefaultPerson(); //associate with "Member" p1.PersonTypes.Add(PersonType.GetMemberRecord()); *************** *** 280,303 **** } ! ! #region Private support methods /// <summary> ! /// Creates a default person for testing. /// </summary> ! /// <returns>Person with default settings.</returns> ! private Person CreateDefaultPerson() { ! Person p = new Person(); ! p.FName = "First"; ! p.LName = "Last"; ! p.EMail = "Fi...@La..."; ! p.DateJoined = DateTime.Today; ! p.Approved = false; ! return p; } - #endregion - } } --- 410,472 ---- } ! [Test] ! public void CheckUpdateList() ! { ! Person p1 = TestFactory.CreateDefaultMember(); ! Person p2 = TestFactory.CreateDefaultMember(); ! p2.FName = "Bubba"; ! Person p3 = TestFactory.CreateDefaultMember(); ! p3.FName = "Goober"; ! ! p1.Save(); ! p2.Save(); ! p3.Save(); ! ! p1.FName = "New Default"; ! p2.FName = "New Bubba"; ! p3.FName = "New Goober"; ! ! IList list = new ArrayList(); ! list.Add(p2); ! list.Add(p3); ! ! Person.UpdatePersonList(list); ! ! Person p1DB = (Person)Person.Get<Person>(p1.Id); ! Assert.AreEqual(false, p1.FName.Equals(p1DB.FName), "P1 Names match and shouldn't"); ! Person p2DB = (Person)Person.Get<Person>(p2.Id); ! Assert.AreEqual(p2.FName, p2DB.FName, "P2 Names don't match"); ! Person p3DB = (Person)Person.Get<Person>(p3.Id); ! Assert.AreEqual(p3.FName, p3DB.FName, "P3 Names don't match"); ! ! p1.Delete(); ! p2.Delete(); ! p3.Delete(); ! } /// <summary> ! /// Checks that deleting one member doesn't delete all members. ! /// (Ensures cascade deletes of Person members doesn't delete ! /// PersonType Member record) /// </summary> ! [Test] ! public void CheckDeleteOneMemberOfGroup() { ! Person p1 = TestFactory.CreateDefaultMember(); ! Person p2 = TestFactory.CreateDefaultMember(); ! p2.FName = "Bubba"; ! Person p3 = TestFactory.CreateDefaultMember(); ! p3.FName = "Goober"; ! ! p1.Save(); ! p2.Save(); ! p3.Save(); ! p1.Delete(); ! Person p2DB = (Person)Person.Get<Person>(p2.Id); ! Assert.AreEqual(true, p2.Id == p2DB.Id, "IDs don't match"); ! p2.Delete(); ! p3.Delete(); } } } |