public void AutoMapUnspecifiedTargets() { //automap should always automap: var map = new DataReaderAutoMap<User>(); map.AutoMapUnspecifiedTargets = false; Assert.AreEqual(true, map.AutoMapUnspecifiedTargets); }
public void AutoMapUnspecifiedTargets() { //automap should always automap: var map = new DataReaderAutoMap <User>(); map.AutoMapUnspecifiedTargets = false; Assert.AreEqual(true, map.AutoMapUnspecifiedTargets); }
public void CreateTargetList_WithSql_Static() { IEnumerable <User> targetUsers = null; using (var sourceUsers = GetSqlDataReader()) { targetUsers = DataReaderAutoMap <User> .CreateTargetList(sourceUsers); } AssertUsers(targetUsers); }
public void PopulateTarget_WithSql_Static() { User targetUser = new User(); using (var sourceUsers = GetSqlDataReader()) { sourceUsers.Read(); DataReaderAutoMap <User> .PopulateTarget(sourceUsers, targetUser); } AssertFirstUser(targetUser); }
public void CreateList_WithSql_WithCache() { IEnumerable <User> targetUsers = null; using (var sourceUsers = GetSqlDataReader()) { var map = new DataReaderAutoMap <User>().Cache <DictionaryCachingStrategy>(); map.ThrowMappingExceptions = true; targetUsers = map.CreateList(sourceUsers); } AssertUsers(targetUsers); }
public void Create_MultipleReaders_NoException() { List <User> users = null; using (var addressReader = GetAddressSqlDataReader()) { using (var userReader = GetUserSqlDataReader()) { var map = new DataReaderAutoMap <User>(); users = map.CreateList(userReader, addressReader); //should return null - multiple readers not allowed Assert.AreEqual(null, users); } } }
public void Create_WithAggressiveNameMatching() { var id = RandomGuid(); var firstName = RandomGuidString(); var lastName = RandomGuidString(); var reader = GetStubReader(id, firstName, lastName); var user = new DataReaderAutoMap<User>().Matching<AggressiveNameMatchingStrategy>().Create(reader); //"Id" will not match "USERID" will not match with aggressive strategy: Assert.IsNotNull(user); Assert.AreEqual(new Guid(), user.Id); Assert.AreEqual(firstName, user.FirstName); Assert.AreEqual(lastName, user.LastName); }
public void Create_WithAggressiveNameMatching() { var id = RandomGuid(); var firstName = RandomGuidString(); var lastName = RandomGuidString(); var reader = GetStubReader(id, firstName, lastName); var user = new DataReaderAutoMap <User>().Matching <AggressiveNameMatchingStrategy>().Create(reader); //"Id" will not match "USERID" will not match with aggressive strategy: Assert.IsNotNull(user); Assert.AreEqual(new Guid(), user.Id); Assert.AreEqual(firstName, user.FirstName); Assert.AreEqual(lastName, user.LastName); }
public void CreateList_MultipleReaders() { List <User> users = null; using (var addressReader = GetAddressSqlDataReader()) { using (var userReader = GetUserSqlDataReader()) { var map = new DataReaderAutoMap <User>(); map.ThrowMappingExceptions = true; users = map.CreateList(userReader, addressReader); //should error - multiple readers not allowed Assert.Fail(); } } }
public void Create_WithLegacyNameMatching() { var id = RandomGuid(); var firstName = RandomGuidString(); var lastName = RandomGuidString(); var stubReader = GetLegacyStubReader(id, firstName, lastName); var map = new DataReaderAutoMap<User>().Matching<LegacyNameMatchingStrategy>(); User user = map.Create(stubReader); Assert.IsNotNull(user); Assert.AreEqual(id, user.Id); Assert.AreEqual(firstName, user.FirstName); Assert.AreEqual(lastName, user.LastName); }
public void Create_WithLegacyNameMatching() { var id = RandomGuid(); var firstName = RandomGuidString(); var lastName = RandomGuidString(); var stubReader = GetLegacyStubReader(id, firstName, lastName); var map = new DataReaderAutoMap <User>().Matching <LegacyNameMatchingStrategy>(); User user = map.Create(stubReader); Assert.IsNotNull(user); Assert.AreEqual(id, user.Id); Assert.AreEqual(firstName, user.FirstName); Assert.AreEqual(lastName, user.LastName); }
public void Create_AutoMap_Sql_SpecifyFunc() { User user = null; using (var reader = GetSqlDataReader()) { reader.Read(); var addressMap = new DataReaderAutoMap <Address>() .Specify("PostCode", t => t.PostCode.Code); var map = new DataReaderAutoMap <User>() .Specify("UserId", t => t.Id) .Specify((s, t) => t.Address = addressMap.Create(s)); user = map.Create(reader); } AssertFirstUser(user, true, true); }
public void Performance_AutoMap_Sql() { using (var reader = GetSqlDataReader()) { reader.Read(); var addressMap = new DataReaderAutoMap <Address>() .Specify((s, t) => t.PostCode.Code = (string)s["PostCode"]); var map = new DataReaderAutoMap <User>() .Specify("UserId", t => t.Id) .Specify((s, t) => t.Address = addressMap.Create(s)); for (int i = 0; i < PerformanceIterations; i++) { var user = map.Create(reader); } } }
public void Create_NestedMaps_WithConversion() { Address address = null; using (var addressReader = GetAddressSqlDataReader()) { addressReader.Read(); var addressMap = new DataReaderAutoMap <Address>() .Specify <string, string>("PostCode", t => t.PostCode.Code, c => c.ToLower()); address = addressMap.Create(addressReader); } using (var sourceUsers = GetSqlDataReader()) { Assert.IsTrue(sourceUsers.Read()); Assert.IsNotNull(address); Assert.IsNotNull(address.PostCode); Assert.AreEqual((string)sourceUsers["PostCode"].ToString().ToLower(), address.PostCode.OriginalCode); } }
public void Create_NestedMaps() { User user = null; using (var addressReader = GetAddressSqlDataReader()) { addressReader.Read(); using (var userReader = GetUserSqlDataReader()) { userReader.Read(); var addressMap = new DataReaderAutoMap <Address>() .Specify("PostCode", t => t.PostCode.Code); var map = new DataReaderAutoMap <User>() .Specify("UserId", t => t.Id) .Specify((s, t) => t.Address = addressMap.Create(addressReader)); user = map.Create(userReader); } } AssertFirstUser(user, true, true); }
public void FromSqlCe_AutoMap() { var stopwatch = Stopwatch.StartNew(); var count = 0; var userMap = new DataReaderAutoMap <User>() .Specify("UserId", t => t.Id) .Specify("Line1", t => t.Address.Line1) .Specify("Line2", t => t.Address.Line2) .Specify("PostCode", t => t.Address.PostCode.Code); using (var reader = GetSqlDataReader()) { while (reader.Read() && count < PerformanceIterations) { count++; var user = userMap.Create(reader); AssertUser(reader, user, true, true); } } Debug.WriteLine("FromSqlCe_AutoMap -Mapped: {0} objects and asserted 0 failures in: {1}ms", PerformanceIterations, stopwatch.ElapsedMilliseconds); }
public void FromSqlCe_AutoMap() { var stopwatch = Stopwatch.StartNew(); var count = 0; var userMap = new DataReaderAutoMap<User>() .Specify("UserId", t => t.Id) .Specify("Line1", t => t.Address.Line1) .Specify("Line2", t => t.Address.Line2) .Specify("PostCode", t => t.Address.PostCode.Code); using (var reader = GetSqlDataReader()) { while (reader.Read() && count < PerformanceIterations) { count++; var user = userMap.Create(reader); AssertUser(reader, user, true, true); } } Debug.WriteLine("FromSqlCe_AutoMap -Mapped: {0} objects and asserted 0 failures in: {1}ms", PerformanceIterations, stopwatch.ElapsedMilliseconds); }
public void PopulateList() { //populate clears down the list, check with a dummy entry: var dummyId = RandomGuid(); var targetUsers = new List <User>(); targetUsers.Add(new User() { Id = dummyId }); using (var sourceUsers = GetSqlDataReader()) { var map = new DataReaderAutoMap <User>(); map.PopulateList(targetUsers, sourceUsers); } var dummy = (from t in targetUsers where t.Id == dummyId select t).SingleOrDefault(); Assert.IsNull(dummy); AssertUsers(targetUsers); }
public void AppendList() { //append adds to the list, check with a dummy entry: var dummyId = RandomGuid(); var targetUsers = new List <User>(); targetUsers.Add(new User() { Id = dummyId }); using (var sourceUsers = GetSqlDataReader()) { var map = new DataReaderAutoMap <User>(); map.AppendList(targetUsers, sourceUsers); } var dummy = (from t in targetUsers where t.Id == dummyId select t).SingleOrDefault(); Assert.IsNotNull(dummy); //remove the dummy and check the mapped entires: targetUsers.Remove(dummy); AssertUsers(targetUsers); }
public void AppendList() { //append adds to the list, check with a dummy entry: var dummyId = RandomGuid(); var targetUsers = new List<User>(); targetUsers.Add(new User() { Id = dummyId }); using (var sourceUsers = GetSqlDataReader()) { var map = new DataReaderAutoMap<User>(); map.AppendList(targetUsers, sourceUsers); } var dummy = (from t in targetUsers where t.Id == dummyId select t).SingleOrDefault(); Assert.IsNotNull(dummy); //remove the dummy and check the mapped entires: targetUsers.Remove(dummy); AssertUsers(targetUsers); }
public void Create_AutoMap_Sql_SpecifyFunc() { User user = null; using (var reader = GetSqlDataReader()) { reader.Read(); var addressMap = new DataReaderAutoMap<Address>() .Specify("PostCode", t => t.PostCode.Code); var map = new DataReaderAutoMap<User>() .Specify("UserId", t => t.Id) .Specify((s, t) => t.Address = addressMap.Create(s)); user = map.Create(reader); } AssertFirstUser(user, true, true); }
public void CreateList_MultipleReaders() { List<User> users = null; using (var addressReader = GetAddressSqlDataReader()) { using (var userReader = GetUserSqlDataReader()) { var map = new DataReaderAutoMap<User>(); map.ThrowMappingExceptions = true; users = map.CreateList(userReader, addressReader); //should error - multiple readers not allowed Assert.Fail(); } } }
public void Create_MultipleReaders_NoException() { List<User> users = null; using (var addressReader = GetAddressSqlDataReader()) { using (var userReader = GetUserSqlDataReader()) { var map = new DataReaderAutoMap<User>(); users = map.CreateList(userReader, addressReader); //should return null - multiple readers not allowed Assert.AreEqual(null, users); } } }
public void Create_NestedMaps() { User user = null; using (var addressReader = GetAddressSqlDataReader()) { addressReader.Read(); using (var userReader = GetUserSqlDataReader()) { userReader.Read(); var addressMap = new DataReaderAutoMap<Address>() .Specify("PostCode", t => t.PostCode.Code); var map = new DataReaderAutoMap<User>() .Specify("UserId", t => t.Id) .Specify((s, t) => t.Address = addressMap.Create(addressReader)); user = map.Create(userReader); } } AssertFirstUser(user, true, true); }
public void Create_NestedMaps_WithConversion() { Address address = null; using (var addressReader = GetAddressSqlDataReader()) { addressReader.Read(); var addressMap = new DataReaderAutoMap<Address>() .Specify<string, string>("PostCode", t => t.PostCode.Code, c => c.ToLower()); address = addressMap.Create(addressReader); } using (var sourceUsers = GetSqlDataReader()) { Assert.IsTrue(sourceUsers.Read()); Assert.IsNotNull(address); Assert.IsNotNull(address.PostCode); Assert.AreEqual((string)sourceUsers["PostCode"].ToString().ToLower(), address.PostCode.OriginalCode); } }
public void CreateList_WithSql_WithCache() { IEnumerable<User> targetUsers = null; using (var sourceUsers = GetSqlDataReader()) { var map = new DataReaderAutoMap<User>().Cache<DictionaryCachingStrategy>(); map.ThrowMappingExceptions = true; targetUsers = map.CreateList(sourceUsers); } AssertUsers(targetUsers); }
public void Performance_AutoMap_Sql() { using (var reader = GetSqlDataReader()) { reader.Read(); var addressMap = new DataReaderAutoMap<Address>() .Specify((s, t) => t.PostCode.Code = (string)s["PostCode"]); var map = new DataReaderAutoMap<User>() .Specify("UserId", t => t.Id) .Specify((s, t) => t.Address = addressMap.Create(s)); for (int i = 0; i < PerformanceIterations; i++) { var user = map.Create(reader); } } }
public void PopulateList() { //populate clears down the list, check with a dummy entry: var dummyId = RandomGuid(); var targetUsers = new List<User>(); targetUsers.Add(new User() { Id = dummyId }); using (var sourceUsers = GetSqlDataReader()) { var map = new DataReaderAutoMap<User>(); map.PopulateList(targetUsers, sourceUsers); } var dummy = (from t in targetUsers where t.Id == dummyId select t).SingleOrDefault(); Assert.IsNull(dummy); AssertUsers(targetUsers); }