public static void CreateDemo(ObjectA person_A, ObjectB person_B) { Console.WriteLine("Enter name of first object"); string name_A = Console.ReadLine(); Console.WriteLine("Enter security number of first object"); int age_A = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Enter date of birth of first object (mm/dd/yyyy)"); DateTime dateOfBirth_A = Convert.ToDateTime(Console.ReadLine()); person_A.Surname = name_A; person_A.SecurityNumber = age_A; person_A.DateOfBirth = dateOfBirth_A; Console.WriteLine("Enter department of first object"); string dep_A = Console.ReadLine(); person_A.objectAEmploymentHistory.Department = dep_A; Console.WriteLine("Enter start date of first object (mm/dd/yyyy)"); DateTime startDate_A = Convert.ToDateTime(Console.ReadLine()); person_A.objectAEmploymentHistory.startDate = startDate_A; Console.WriteLine("Enter work hours of first object"); double workHours_A = Convert.ToDouble(Console.ReadLine()); person_A.objectAEmploymentHistory.HourWorked = workHours_A; Console.WriteLine("Enter name of second object"); string name_B = Console.ReadLine(); Console.WriteLine("Enter security number of second object"); int age_B = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Enter date of birth of second object (mm/dd/yyyy)"); DateTime dateOfBirth_B = Convert.ToDateTime(Console.ReadLine()); person_B.Surname = name_B; person_B.SecurityNumber = age_B; person_B.DateOfBirth = dateOfBirth_B; Console.WriteLine("Enter department of second object"); string dep_B = Console.ReadLine(); person_B.objectBEmploymentHistory.Department = dep_B; Console.WriteLine("Enter start date of second object (mm/dd/yyyy)"); DateTime startDate_B = Convert.ToDateTime(Console.ReadLine()); person_B.objectBEmploymentHistory.startDate = startDate_B; Console.WriteLine("Enter work hours of second object"); double workHours_B = Convert.ToDouble(Console.ReadLine()); person_B.objectBEmploymentHistory.HourWorked = workHours_B; Console.ReadKey(); new Auditor().CompareObjects(person_A, person_B); }
public static void Main() { Console.WriteLine("Enter V to view demo C to create demo"); string result = Console.ReadLine(); if (result.ToLower().Equals("v")) { ViewDemo(); } else if(result.ToLower().Equals("c")) { ObjectA person_A = new ObjectA(); ObjectB person_B = new ObjectB(); CreateDemo(person_A, person_B); } }
private static void ViewDemo() { ObjectA person_A = new ObjectA("A", 26, new DateTime(1990, 6, 10)); ObjectB person_B = new ObjectB("B", 10, new DateTime(2006, 7, 10)); person_B.objectBEmploymentHistory.Department = "IT"; person_B.objectBEmploymentHistory.startDate = new DateTime(2012, 02, 09); person_B.objectBEmploymentHistory.HourWorked = 38.5; person_A.objectAEmploymentHistory.Department = "HR"; person_A.objectAEmploymentHistory.startDate = new DateTime(2010, 05, 09); person_A.objectAEmploymentHistory.HourWorked = 37.5; new Auditor().CompareObjects(person_A, person_B); }
public void ObjectsDateOfBirthAndAge_AreDifferent_ReturnTwoChange() { // Arrange ObjectA objectA = new ObjectA("A", 10, new DateTime(2006, 8, 10)); ObjectB objectB = new ObjectB("A", 26, new DateTime(2006, 7, 10)); Auditor auditor = new Auditor(); String result = ""; // Act Hashtable ht = auditor.CompareObjects(objectA, objectB); foreach (DictionaryEntry de in ht) { result += de.Value; } // Assert Assert.AreEqual(result, "Change 1: Object_A: 08 10 2006 || Object_B: 07 10 2006 Change 2: Object_A: 10 || Object_B: 26 "); }
public void ObjectsName_AreDifferent_ReturnOneChange() { //Arrange ObjectA objectA = new ObjectA("A", 10, new DateTime(2006, 7, 10)); ObjectB objectB = new ObjectB("B", 10, new DateTime(2006, 7, 10)); Auditor auditor = new Auditor(); String result = ""; //Act Hashtable ht = auditor.CompareObjects(objectA, objectB); foreach (DictionaryEntry de in ht) { result += de.Value; } //Assert Assert.AreEqual(result, "Change 1: " + "Object_A: A || Object_B: B "); }
public Hashtable CompareObjects(ObjectA objecta, ObjectB objectb) { Hashtable changeHtable = new Hashtable(); int counter = 0; foreach (DictionaryEntry entryA in objecta.GetHashtable()) { foreach (DictionaryEntry entryB in objectb.GetHashtable()) { if ((entryA.Key.Equals(entryB.Key)) && (!entryA.Value.Equals(entryB.Value))) { counter++; changeHtable.Add(entryA.Key, "Change "+ counter +": "+ "Object_A: " + entryA.Value + " || Object_B: " + entryB.Value + " "); } } } WriteDifference(changeHtable); WriteDifferenceToStream(changeHtable); return changeHtable; }