public async void TestGetInt16() { var reader = new ListDataReader <Student>(_Students); var ps = _Properties.Where(i => i.CanRead).ToArray(); foreach (var st in _Students) { await reader.ReadAsync(); var index = 0; foreach (var p in ps) { if (p.GetMethod.Invoke(st, new object[0]) != null && (p.PropertyType == typeof(short) || p.PropertyType == typeof(short?))) { Assert.Equal(p.GetMethod.Invoke(st, new object[0]), reader.GetInt16(index)); } else if (p.PropertyType.GetTypeInfo().IsGenericType && p.PropertyType.GetGenericTypeDefinition() == typeof(Nullable <>) && p.GetMethod.Invoke(st, new object[0]) == null) { Assert.ThrowsAny <RuntimeBinderException>(() => reader.GetInt16(index)); } else if (p.PropertyType == typeof(byte) || p.PropertyType == typeof(byte?)) { Assert.NotNull(reader.GetInt16(index)); } else { Assert.ThrowsAny <RuntimeBinderException>(() => reader.GetInt16(index)); } index++; } } }
public void TestGetInt16() { var reader = new ListDataReader <Student>(_Students); reader.Read(); var col = "Short2"; Assert.Equal(77, reader.GetInt16(col)); reader.Read(); reader.Read(); Assert.Equal(76, reader.GetInt16(col)); }