public async Task ObjectWithAsyncDict() { var dict = new AsyncDictThatBlowsUp(); var arr = new { dict = dict }; var obj = (IBifoqlMapInternal)arr.ToBifoqlObject(); Assert.Equal(1, obj.Count); var first = await obj["dict"](); Assert.Same(dict, first); }
public async Task ListWithAsyncDict() { var dict = new AsyncDictThatBlowsUp(); var arr = new object[] { dict }; var obj = (IBifoqlArrayInternal)arr.ToBifoqlObject(); Assert.Equal(1, obj.Count); var first = await obj[0](); Assert.Same(dict, first); }
public async Task NestedAnonymousObject() { var dict = new AsyncDictThatBlowsUp(); var anon = new { foo = new { bar = dict } }; var obj = (IBifoqlMapInternal)anon.ToBifoqlObject(); var foo = (IBifoqlMapInternal)(await obj["foo"]()); var bar = await foo["bar"](); Assert.Same(dict, bar); }
public async Task NestedDict() { var dict = new AsyncDictThatBlowsUp(); var anon = new Dictionary <string, object> { ["foo"] = (new Dictionary <string, object> { ["bar"] = dict }) }; var obj = (IBifoqlMapInternal)anon.ToBifoqlObject(); var foo = (IBifoqlMapInternal)(await obj["foo"]()); var bar = await foo["bar"](); Assert.Same(dict, bar); }