public void CallDataProviders_FirstProviderException_ProvidersCascaded() { BrokerContext.Initialize(CprBroker.Utilities.Constants.BaseApplicationToken.ToString(), ""); var facade = new FacadeStub(); bool called = false; var provs = new ISingleDataProvider <string, string>[] { new FacadeStub.ProviderStub() { _GetBatch = (i) => { called = true; throw new Exception(); } }, new FacadeStub.ProviderStub() { _GetBatch = (i) => new string[] { null, "DDD" } } }; Assert.False(called); var ret = facade.CallDataProviders(provs, new string[] { "SSS", "DDD" }); Assert.True(called); Assert.AreEqual(2, ret.Length); Assert.AreEqual("SSS", ret[0].Input); Assert.Null(ret[0].Output); Assert.AreEqual("DDD", ret[1].Input); Assert.AreEqual("DDD", ret[1].Output); }
public void CallDataProviders_NoProv_Fail() { var facade = new FacadeStub(); var provs = new ISingleDataProvider <string, string>[] { }; var ret = facade.CallDataProviders(provs, new string[] { "SSS", "DDD" }); Assert.AreEqual(2, ret.Length); Assert.AreEqual("SSS", ret[0].Input); Assert.Null(ret[0].Output); Assert.AreEqual("DDD", ret[1].Input); Assert.Null(ret[1].Output); }
public void CallDataProviders_ProvWithPartial_ProvidersCascaded() { var facade = new FacadeStub(); var provs = new ISingleDataProvider <string, string>[] { new FacadeStub.ProviderStub() { _GetBatch = (i) => new string[] { "SSS", null } }, new FacadeStub.ProviderStub() { _GetBatch = (i) => new string[] { "DDD" } } }; var ret = facade.CallDataProviders(provs, new string[] { "SSS", "DDD" }); Assert.AreEqual(2, ret.Length); Assert.AreEqual("SSS", ret[0].Input); Assert.AreEqual("SSS", ret[0].Output); Assert.AreEqual("DDD", ret[1].Input); Assert.AreEqual("DDD", ret[1].Output); }