internal async Task <IPocoGenerator> GenerateModel(OdataConnectionString odataConnString) { IPocoGenerator gen = await PocoFactory.GenerateModel(odataConnString, Setting); MetaData = gen.MetaData; return(gen); }
public void simple_mapping_from_query() { dynamic d = PocoFactory.AnonMapper(_tp)(_rd.Object); Assert.Equal(11, d.Id); Assert.Equal("bla", d.Name); }
public void global_custom_converter() { PocoFactory.RegisterConverterFor <CustomObject>(o => new CustomObject(o.ToString())); var custom = _db.QuerySingle <TypeWithCustomObject>("select 'custom-value' as Value"); Assert.Equal("custom-value", custom.Value.CustomValue); }
private IPocoClassGenerator GenerateModel(MetaDataInfo metaData) { var gen = PocoFactory.GeneratePoco(metaData, Setting); ClassList = gen.ClassList; return(gen); }
public void HasRoleは引数のクラスがDictionaryでもtrueを返す() { // setup Sheet sheet = TempActors.Book.GetSheet("HasRole"); PocoFactory factory = GetPocoFactory(sheet.GetCase("ロールあり")); // expect Assert.IsTrue(factory.HasRole <object>(null)); }
public void HasRoleはInitializeで指定されたテストケースにパラメタセクションがあればtrueを返す() { // setup Sheet sheet = TempActors.Book.GetSheet("HasRole"); PocoFactory factory = GetPocoFactory(sheet.GetCase("ロールあり")); // expect Assert.IsTrue(factory.HasRole <object>(null)); }
public void set_global_mapper_per_type() { var custom = false; PocoFactory.RegisterMapperFor <IdName>(rd => { custom = true; return(null); }); Assert.Null(_db.Query <IdName>("select 1").First()); Assert.True(custom); }
public void global_value_converter() { var c = false; PocoFactory.RegisterConverterFor(o => { c = true; return(0); }); Assert.Equal(0, _db.GetValue <int>("select 1")); Assert.True(c); PocoFactory.RegisterConverterFor <Email>(o => new Email(o.ToString())); var em = _db.GetValue <Email>("select '*****@*****.**'"); Assert.Equal("*****@*****.**", em.Value); }
public void map_anonymous_object_with_less_matching_names() { _rd.Setup(d => d.FieldCount).Returns(1); Assert.Throws <InvalidOperationException>(() => PocoFactory.AnonMapper(_tp)(_rd.Object)); }