public void Should_convert_fields_from_datarecord()
{
var mockRec = new Mock<IDataRecord>();
mockRec.Setup(x => x["string"]).Returns("string");
mockRec.Setup(x => x["int"]).Returns(123);
mockRec.Setup(x => x["guid"]).Returns(new Guid("b8903b30-0862-4440-8058-ac721b1a2eda"));
mockRec.Setup(x => x["dbnull"]).Returns(DBNull.Value);
mockRec.Setup(x => x["null"]).Returns(null);
IDataRecord rec = mockRec.Object;
rec.Get<string>("string").Should().Be.EqualTo("string");
rec.Get<int>("int").Should().Be.EqualTo(123);
rec.Get<Guid>("guid").Should().Be.EqualTo(new Guid("b8903b30-0862-4440-8058-ac721b1a2eda"));
Executing.This(() => rec.Require<string>("null")).Should().Throw<NoNullAllowedException>();
}