public void SelectFailsWithNullThis() { var e = Assert.Throws <ArgumentNullException>(() => IDataReaderExtensions.Select <object>(null, delegate { throw new NotImplementedException(); })); Assert.Equal("reader", e.ParamName); }
/// <summary> /// Returns a list of T which maps columns in the datarow to properties in T /// </summary> /// <typeparam name="T">Class to populate</typeparam> /// <param name="row">Row to populate from</param> /// <returns></returns> /// <remarks></remarks> public static T GetAs <T>(this DataRow row) where T : class { // Create a new Object var newObjectToReturn = Activator.CreateInstance <T>(); // Get all the properties in our Object var props = IDataReaderExtensions.GetCachedProperties <T>(); // For each property get the data from the reader to the object var columnList = row.GetColumnList(); foreach (var t in props) { if (columnList.Contains(t.Name) && row[t.Name] != DBNull.Value) { if (!(t.PropertyType.IsTypeNullable()) & row.Table.Columns[t.Name].AllowDBNull) { throw new InvalidCastException(string.Format("Column '{0}' in datatable is nullable, corresponding property in class is not.", t.Name)); } if (t.GetType().IsTypeNullable() & !(row.Table.Columns[t.Name].AllowDBNull)) { throw new InvalidCastException(string.Format("Property '{0}' in class is nullable, corresponding column in datatable is not.", t.Name)); } typeof(T).InvokeMember(t.Name, BindingFlags.SetProperty, null, newObjectToReturn, new[] { row[t.Name] }); } } return(newObjectToReturn); }
public void t_GetBoolFromName_null() { IDataReader reader = setupNullReader(typeof(bool)); bool actual; actual = IDataReaderExtensions.GetBoolFromName(reader, columnName); Assert.IsFalse(actual); }
public void t_GetLongFromName_Null() { long expected = 0; IDataReader reader = setupNullReader(typeof(long)); long actual; actual = IDataReaderExtensions.GetLongFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetLongFromName() { long expected = 12345678973156; IDataReader reader = setupReader(expected); long actual; actual = IDataReaderExtensions.GetLongFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetFloatFromName_Null() { float expected = 0F; IDataReader reader = setupNullReader(typeof(float)); float actual; actual = IDataReaderExtensions.GetFloatFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetFloatFromName() { float expected = 23.345342F; IDataReader reader = setupReader(expected); float actual; actual = IDataReaderExtensions.GetFloatFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetBoolFromName_true() { bool value = true; IDataReader reader = setupReader(value); bool actual; actual = IDataReaderExtensions.GetBoolFromName(reader, columnName); Assert.IsTrue(actual); }
public void t_GetByteFromName_Null() { byte expected = 0; IDataReader reader = setupNullReader(typeof(byte)); byte actual; actual = IDataReaderExtensions.GetByteFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetValueFromName() { object expected = new { Blah = "blah", Ack = 324 }; IDataReader reader = setupReader(expected, typeof(object)); object actual; actual = IDataReaderExtensions.GetValueFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetValueFromName_Null() { object expected = null; IDataReader reader = setupNullReader(typeof(object)); object actual; actual = IDataReaderExtensions.GetValueFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetStringFromName() { string expected = "this is a test"; IDataReader reader = setupReader(expected); string actual; actual = IDataReaderExtensions.GetStringFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetStringFromName_Null() { string expected = string.Empty; IDataReader reader = setupNullReader(typeof(string)); string actual; actual = IDataReaderExtensions.GetStringFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetByteFromName() { byte expected = 1; IDataReader reader = setupReader(expected); byte actual; actual = IDataReaderExtensions.GetByteFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetCharFromName() { char expected = 'a'; IDataReader reader = setupReader(expected); char actual; actual = IDataReaderExtensions.GetCharFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetIntFromName_Null() { int expected = 0; IDataReader reader = setupNullReader(typeof(Guid)); int actual; actual = IDataReaderExtensions.GetIntFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetIntFromName() { int expected = 54896; IDataReader reader = setupReader(expected); int actual; actual = IDataReaderExtensions.GetIntFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetDecimalFromName() { Decimal expected = 0.1835893M; IDataReader reader = setupReader(expected); Decimal actual; actual = IDataReaderExtensions.GetDecimalFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetDecimalFromName_null() { Decimal expected = 0m; IDataReader reader = setupNullReader(typeof(Decimal)); Decimal actual; actual = IDataReaderExtensions.GetDecimalFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetDoubleFromName_Null() { double expected = 0d; IDataReader reader = setupNullReader(typeof(double)); double actual; actual = IDataReaderExtensions.GetDoubleFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetDateTimeFromName() { DateTime expected = DateTime.Now; IDataReader reader = setupReader(expected); DateTime actual; actual = IDataReaderExtensions.GetDateTimeFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetGuidFromName_Null() { Guid expected = Guid.Empty; IDataReader reader = setupNullReader(typeof(Guid)); Guid actual; actual = IDataReaderExtensions.GetGuidFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetGuidFromName() { Guid expected = new Guid("CE0D1C95-C0C6-4D1E-8D5A-ADB8D0A297AF"); IDataReader reader = setupReader(expected); Guid actual; actual = IDataReaderExtensions.GetGuidFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetShortFromName() { short expected = 255; IDataReader reader = setupReader(expected); short actual; actual = IDataReaderExtensions.GetShortFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetShortFromName_NUll() { short expected = 0; IDataReader reader = setupNullReader(typeof(short)); short actual; actual = IDataReaderExtensions.GetShortFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetDateTimeFromName_null() { DateTime expected = DateTime.MinValue; IDataReader reader = setupNullReader(typeof(DateTime)); DateTime actual; actual = IDataReaderExtensions.GetDateTimeFromName(reader, columnName); Assert.AreEqual(expected, actual); }
public void t_GetDoubleFromName() { double expected = 0.234834234d; IDataReader reader = setupReader(expected); double actual; actual = IDataReaderExtensions.GetDoubleFromName(reader, columnName); Assert.AreEqual(expected, actual); }