public async Task Test_Circular_Reference_Simple() { await TestAsync(async() => { var cacher = new SessionCacher(); _ConverTOJSO = GetCircularBreakerConverter(cacher); var res = (await Map(_CircularSimple, cacher)).JsValue; DoSafe(() => { res.Should().NotBeNull(); var res1 = res.GetValue("Reference"); res1.Should().NotBeNull(); res1.IsObject.Should().BeTrue(); var res2 = res1.GetValue("Reference"); res2.Should().NotBeNull(); res2.IsObject.Should().BeTrue(); var res3 = res1.GetValue("Reference"); res3.Should().NotBeNull(); res3.IsObject.Should().BeTrue(); }); }); }
public async Task Test_Circular_Reference_In_List() { await TestAsync(async() => { var cacher = new SessionCacher(); _ConverTOJSO = GetCircularBreakerConverter(cacher); var res = (await Map(_CircularComplex, cacher)).JsValue; DoSafe(() => { res.Should().NotBeNull(); var res0 = res.GetValue("List"); res0.IsArray.Should().BeTrue(); var res1 = res0.GetArrayElements()[0]; res1.Should().NotBeNull(); res1.IsObject.Should().BeTrue(); var res2 = res1.GetValue("Reference"); res2.Should().NotBeNull(); res2.IsObject.Should().BeTrue(); }); }); }
protected override void Init() { _ICSharpMapper = Substitute.For <IJavascriptSessionCache>(); _JSCommandFactory = Substitute.For <IJSCommandFactory>(); _ICSharpMapper.GetCached(Arg.Any <object>()).Returns((IJSCSGlue)null); _javascriptFrameworkManager = Substitute.For <IJavascriptFrameworkManager>(); _HTMLViewContext = new HTMLViewContext(_WebView, GetTestUIDispacther(), _javascriptFrameworkManager, null, _Logger); _ConverTOJSO = new CSharpToJavascriptConverter(_HTMLViewContext, _ICSharpMapper, _JSCommandFactory, _Logger); _Test = new TestClass { S1 = "string", I1 = 25 }; _Tests = new List <TestClass> { new TestClass() { S1 = "string1", I1 = 1 }, new TestClass() { S1 = "string2", I1 = 2 } }; _Test2 = new Test2() { T1 = _Test, T2 = _Test }; _Tests_NG = new ArrayList(); _Tests_NG.Add(_Tests[0]); _Tests_NG.Add(_Tests[0]); }
/// <summary> /// Instanciate a new CJsonConverter /// </summary> public CJsonConverter() { var cache = new SessionCacher(); var factory = new GlueFactory(null, cache, null, null); _Converter = new CSharpToJavascriptConverter(cache, factory, new NullLogger()); }
public CSharpToJavascriptConverterTests(ITestOutputHelper testOutputHelper) { _TestOutputHelper = testOutputHelper; _Cacher = Substitute.For <IJavascriptSessionCache>(); _Cacher.When(c => c.CacheFromCSharpValue(Arg.Any <object>(), Arg.Any <IJsCsGlue>())) .Do(callInfo => _Cache.Add(callInfo[0], (IJsCsGlue)callInfo[1])); _Cacher.GetCached(Arg.Any <object>()).Returns(callInfo => _Cache.GetOrDefault(callInfo[0])); _ObjectChangesListener = new ObjectChangesListener(_ => { }, _ => { }, _ => { }); _GlueFactory = new GlueFactory(null, _Cacher, null, _ObjectChangesListener); _Logger = Substitute.For <IWebSessionLogger>(); _CSharpToJavascriptConverter = new CSharpToJavascriptConverter(_Cacher, _GlueFactory, _Logger); }
public CSharpToJavascriptConverterTests() { _Cacher = Substitute.For <IJavascriptSessionCache>(); _Cacher.When(c => c.CacheFromCSharpValue(Arg.Any <object>(), Arg.Any <IJSCSGlue>())) .Do(callInfo => _Cache.Add(callInfo[0], (IJSCSGlue)callInfo[1])); _Cacher.GetCached(Arg.Any <object>()).Returns(callInfo => _Cache.GetOrDefault(callInfo[0])); _GlueFactory = new GlueFactory(null, null); _Logger = Substitute.For <IWebSessionLogger>(); _IWebBrowserWindow = Substitute.For <IWebBrowserWindow>(); _IWebBrowserWindow.IsTypeBasic(typeof(string)).Returns(true); _CSharpToJavascriptConverter = new CSharpToJavascriptConverter(_IWebBrowserWindow, _Cacher, _GlueFactory, _Logger); }
protected override void Init() { _CSharpMapper = Substitute.For <IJavascriptSessionCache>(); _ObjectChangesListener = new ObjectChangesListener(_ => { }, _ => { }, _ => { }); _GlueFactory = new GlueFactory(null, _CSharpMapper, null, _ObjectChangesListener); _CSharpMapper.GetCached(Arg.Any <object>()).Returns((IJsCsGlue)null); _JavascriptFrameworkManager = Substitute.For <IJavascriptFrameworkManager>(); _HtmlViewContext = new HtmlViewContext(WebBrowserWindow, GetTestUIDispacther(), _JavascriptFrameworkManager, null, _Logger); _ConverTOJSO = new CSharpToJavascriptConverter(_CSharpMapper, _GlueFactory, _Logger); _Test = new TestClass { S1 = "string", I1 = 25 }; _Tests = new List <TestClass> { new TestClass() { S1 = "string1", I1 = 1 }, new TestClass() { S1 = "string2", I1 = 2 } }; _Test2 = new Test2() { T1 = _Test, T2 = _Test }; _TestsNg = new ArrayList { _Tests[0], _Tests[0] }; _CircularSimple = new Circular1(); _CircularSimple.Reference = _CircularSimple; _CircularComplex = new Circular2(); var circularChild = new Circular2 { Reference = _CircularComplex }; _CircularComplex.List.Add(circularChild); }
protected override void Init() { _ICSharpMapper = Substitute.For <IJavascriptSessionCache>(); _JSCommandFactory = Substitute.For <IJSCommandFactory>(); _ICSharpMapper.GetCached(Arg.Any <object>()).Returns((IJSCSGlue)null); _javascriptFrameworkManager = Substitute.For <IJavascriptFrameworkManager>(); _HTMLViewContext = new HTMLViewContext(WebBrowserWindow, GetTestUIDispacther(), _javascriptFrameworkManager, null, _Logger); _ConverTOJSO = new CSharpToJavascriptConverter(WebBrowserWindow, _ICSharpMapper, _JSCommandFactory, _Logger); _Test = new TestClass { S1 = "string", I1 = 25 }; _Tests = new List <TestClass> { new TestClass() { S1 = "string1", I1 = 1 }, new TestClass() { S1 = "string2", I1 = 2 } }; _Test2 = new Test2() { T1 = _Test, T2 = _Test }; _Tests_NG = new ArrayList(); _Tests_NG.Add(_Tests[0]); _Tests_NG.Add(_Tests[0]); _CircularSimple = new Circular1(); _CircularSimple.Reference = _CircularSimple; _CircularComplex = new Circular2(); var circularChild = new Circular2 { Reference = _CircularComplex }; _CircularComplex.List.Add(circularChild); }