Advertisement
Guest User

Untitled

a guest
Sep 30th, 2014
283
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.88 KB | None | 0 0
  1. [TestClass]
  2. public class MatchingTests
  3. {
  4. private readonly ConexioContact _conexioContact1 = new ConexioContact();
  5. private readonly ConexioContact _conexioContact2 = new ConexioContact();
  6.  
  7. private readonly ExternalContact _externalContact1 = new ExternalContact();
  8. private readonly ExternalContact _externalContact2 = new ExternalContact();
  9.  
  10. private readonly PhoneNumber _phone1 = new PhoneNumber();
  11. private readonly PhoneNumber _mobilePhoneNumber1 = new PhoneNumber();
  12.  
  13. private readonly Address _address1 = new Address();
  14. private readonly Address _address2 = new Address();
  15. private readonly Address _workAddress1 = new Address();
  16. private readonly Address _workAddress2 = new Address();
  17.  
  18. private readonly EmailAddress _mailAddress1 = new EmailAddress();
  19. private readonly EmailAddress _mailAddress2 = new EmailAddress();
  20. private readonly EmailAddress _workEmailAddress1 = new EmailAddress();
  21. private readonly EmailAddress _workEmailAddress2 = new EmailAddress();
  22.  
  23. private readonly SynchronizeContext _context = new SynchronizeContext();
  24. private readonly SynchronizationUnitOfWork _unitOfWork = new SynchronizationUnitOfWork(new SynchronizeContext());
  25.  
  26. [TestInitialize]
  27. public void TestInit()
  28. {
  29. _phone1.PhoneType = PhoneType.HomePhone;
  30. _phone1.Value = "012 34 56 78";
  31.  
  32. _mobilePhoneNumber1.PhoneType = PhoneType.MobilePhone;
  33. _mobilePhoneNumber1.Value = "0123 45 67 89";
  34.  
  35. _address1.City = "overpelt";
  36. _address1.Postalcode = "3900";
  37. _address1.Street = "nieuwe markt";
  38. _address2.City = "test";
  39. _address2.Postalcode = "1234";
  40. _address2.Street = "teststraat";
  41.  
  42. _workAddress1.City = "westerlo";
  43. _workAddress1.Postalcode = "5678";
  44. _workAddress1.Street = "Graven de merodestraat";
  45. _workAddress2.City = "Sint-niklaas";
  46. _workAddress2.Postalcode = "9638";
  47. _workAddress2.Street = "puitvoetstraat";
  48.  
  49. _mailAddress1.EMailType = EMailType.Home;
  50. _mailAddress1.Email = "nies.ann@gmail.com";
  51. _mailAddress2.EMailType = EMailType.Home;
  52. _mailAddress2.Email = "compuann@hotmail.com";
  53.  
  54. _workEmailAddress1.EMailType = EMailType.Business;
  55. _workEmailAddress1.Email = "annnie@bitconsult.be";
  56. _workEmailAddress2.EMailType = EMailType.Business;
  57. _workEmailAddress2.Email = "annnie@e-trace.be";
  58.  
  59. _conexioContact1.Addresses.Add(_address1);
  60. _conexioContact1.FirstName = "Ann";
  61. _conexioContact1.LastName = "Nies";
  62. _conexioContact1.FullName = "Ann Nies";
  63. _conexioContact1.CompanyName = "bitconsult";
  64. _conexioContact1.EmailAddresses.Add(_mailAddress1);
  65. _conexioContact1.PhoneNumbers.Add(_phone1);
  66. _conexioContact1.Birthdate = DateTime.Now;
  67.  
  68. _conexioContact2.Addresses.Add(_address1);
  69. _conexioContact2.Addresses.Add(_workAddress1);
  70. _conexioContact2.CompanyName = "e-trace";
  71. _conexioContact2.EmailAddresses.Add(_mailAddress1);
  72. _conexioContact2.EmailAddresses.Add(_workEmailAddress1);
  73. _conexioContact2.FullName = "test test";
  74. _conexioContact2.PhoneNumbers.Add(_phone1);
  75. _conexioContact2.PhoneNumbers.Add(_mobilePhoneNumber1);
  76. _conexioContact2.Birthdate = DateTime.Now;
  77.  
  78. _externalContact1.Addresses.Add(_address2);
  79. _externalContact1.CompanyName = "bitconsult";
  80. _externalContact1.EmailAddresses.Add(_mailAddress1);
  81. _externalContact1.FullName = "Ann Nies2";
  82. _externalContact1.FirstName = "Ann";
  83. _externalContact1.LastName = "Nies";
  84. _externalContact1.PhoneNumbers.Add(_phone1);
  85. _externalContact1.DateSynced = DateTime.Now;
  86. _externalContact1.Birthdate = DateTime.Now;
  87. _externalContact1.ForeignSystemID = "1";
  88. _externalContact1.EnvironmentID = 2;
  89.  
  90. _externalContact2.Addresses.Add(_address2);
  91. _externalContact2.Addresses.Add(_workAddress2);
  92. _externalContact2.CompanyName = "e-trace";
  93. _externalContact2.FullName = "test2 test2";
  94. _externalContact2.FirstName = "test";
  95. _externalContact2.LastName = "test";
  96. _externalContact2.PhoneNumbers.Add(_phone1);
  97. _externalContact2.EmailAddresses.Add(_mailAddress2);
  98. _externalContact2.EmailAddresses.Add(_workEmailAddress2);
  99. _externalContact2.DateSynced = DateTime.Now;
  100. _externalContact2.Birthdate = DateTime.Now;
  101. _externalContact2.ForeignSystemID = "2";
  102. _externalContact2.EnvironmentID = 1;
  103.  
  104. _context.Contacts.AddOrUpdate(_conexioContact1);
  105. _context.Contacts.AddOrUpdate(_conexioContact2);
  106. _context.Contacts.AddOrUpdate(_externalContact1);
  107. _context.Contacts.AddOrUpdate(_externalContact2);
  108.  
  109. _context.SyncObjectsStatePostCommit();
  110. _context.SaveChanges();
  111. }
  112. [TestMethod]
  113. public void TestGetMatches()
  114. {
  115.  
  116. List<ConexioContact> conexioEntities = _unitOfWork.ContactsRepository.Queryable().OfType<ConexioContact>().ToList();
  117. List<ExternalContact> externalEntities = _unitOfWork.ContactsRepository.Queryable().OfType<ExternalContact>().ToList();
  118.  
  119. Synchronizer<BaseContact, ExternalContact, ConexioContact>.ConexioEntitySyncContext contextConexio1 = new Synchronizer<BaseContact, ExternalContact, ConexioContact>.ConexioEntitySyncContext();
  120. contextConexio1.ConexioEntity = conexioEntities[conexioEntities.Count - 2];
  121. contextConexio1.ExternalEntities.Add(externalEntities[externalEntities.Count - 2]);
  122. Synchronizer<BaseContact, ExternalContact, ConexioContact>.ConexioEntitySyncContext contextConexio2 = new Synchronizer<BaseContact, ExternalContact, ConexioContact>.ConexioEntitySyncContext();
  123. contextConexio2.ConexioEntity = conexioEntities[conexioEntities.Count - 1];
  124. contextConexio2.ExternalEntities.Add(externalEntities[externalEntities.Count - 1]);
  125.  
  126. MapperCreator.Configure();
  127. List<Synchronizer<BaseContact, ExternalContact, ConexioContact>.ConexioEntitySyncContext> matches =
  128. Synchronizer<BaseContact, ExternalContact, ConexioContact>
  129. .FindMatches(conexioEntities, externalEntities, _unitOfWork);
  130.  
  131. Assert.AreEqual(contextConexio1.ConexioEntity.CompanyName, matches[matches.Count - 1].ConexioEntity.CompanyName);
  132. Assert.AreEqual(contextConexio2.ConexioEntity.CompanyName, matches[matches.Count - 2].ConexioEntity.CompanyName);
  133.  
  134. }
  135.  
  136. [TestCleanup]
  137. public void CleanTest()
  138. {
  139. _context.Contacts.Remove(_conexioContact1);
  140. _context.Contacts.Remove(_conexioContact2);
  141. _context.Contacts.Remove(_externalContact1);
  142. _context.Contacts.Remove(_externalContact2);
  143.  
  144. _context.Addresses.Remove(_address1);
  145. _context.Addresses.Remove(_address2);
  146. _context.Addresses.Remove(_workAddress1);
  147. _context.Addresses.Remove(_workAddress2);
  148.  
  149. _context.EmailAddresses.Remove(_mailAddress1);
  150. _context.EmailAddresses.Remove(_mailAddress2);
  151. _context.EmailAddresses.Remove(_workEmailAddress1);
  152. _context.EmailAddresses.Remove(_workEmailAddress2);
  153.  
  154. _context.PhoneNumbers.Remove(_phone1);
  155. _context.PhoneNumbers.Remove(_mobilePhoneNumber1);
  156.  
  157. _context.SyncObjectsStatePostCommit();
  158. _context.SaveChanges();
  159. }
  160. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement