public async void TestGetBoolean() { 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.PropertyType == typeof(bool) || (p.PropertyType == typeof(bool?) && p.GetMethod.Invoke(st, new object[0]) != null)) { Assert.Equal(p.GetMethod.Invoke(st, new object[0]), reader.GetBoolean(index)); } else if (p.PropertyType.GetTypeInfo().IsGenericType && p.PropertyType.GetGenericTypeDefinition() == typeof(Nullable <>) && p.GetMethod.Invoke(st, new object[0]) == null) { Assert.ThrowsAny <RuntimeBinderException>(() => reader.GetBoolean(index)); } else { Assert.ThrowsAny <RuntimeBinderException>(() => reader.GetBoolean(index)); } index++; } } }
public void TestGetBoolean() { var reader = new ListDataReader <Student>(_Students); reader.Read(); var col = "Bool2"; Assert.True(reader.GetBoolean(col)); reader.Read(); reader.Read(); Assert.False(reader.GetBoolean(col)); }