/// <inheritdoc/> public virtual TAdapter GetAdapter <TAdapter>() where TAdapter : IAdapter, new() { if (Factory is IAdapterCreation adapterCreation) { return(adapterCreation.GetAdapter <TAdapter>()); } return(AdapterBase.Create <TAdapter>(Factory)); }
public void BindFactoryTestCase() { GivenCreateFactory() .When("create adapter", _ => AdapterBase.Create <Adapter>(Factory)) .Then("Check result", adapter => { adapter.AssertFactory(Factory); }) .Run(); }
public void CreateAdapterTestCase() { GivenCreateFactory() .When("create adapter", _ => AdapterBase.Create <Adapter>(Factory)) .Then("Check result", adapter => { Assert.IsNotNull(adapter, "adapter cannot be null"); }) .Run(); }
public void CreateAdapterParamWithoutFuncTestCase() { GivenCreateFactory() .When("Create adapter", factory => ExpectedException <Exception>(() => AdapterBase.Create <InvalidAdapterProxyParameter>(factory))) .Then("Check result", ex => { Assert.IsNotNull(ex, "error cannot be null"); Assert.AreEqual("createProxyFuncWithParam", ((ArgumentNullException)ex.InnerException).ParamName, "expected another message"); }) .Run(); }
public void CreateProxyTestCase() { GivenCreateFactory() .And("Create adapter", factory => AdapterBase.Create <AdapterProxy>(factory)) .When("Create proxy", adapter => adapter.CreateProxy()) .Then("Check result", proxy => { Assert.IsNotNull(proxy, "proxy cannot be null"); }) .Run(); }
public void CreateProxyWithParamTestCase() { var param = new object(); GivenCreateFactory() .And("Create adapter", factory => AdapterBase.Create <AdapterProxyParameter>(factory)) .When("Create proxy", adapter => adapter.CreateProxy(param)) .Then("Check result", proxy => { Assert.IsNotNull(proxy, "proxy cannot be null"); Assert.AreEqual(param, proxy.Param, "expected another value parameter"); }) .Run(); }
public void GetAdapterTestCase() { Adapter adapter1 = null; Adapter adapter2 = null; GivenCreateFactory() .And("create adapter", _ => { adapter1 = AdapterBase.Create <Adapter>(Factory); }) .When("get adapter", _ => { adapter2 = adapter1.GetAdapter <Adapter>(); }) .Then("Check result", facade => { Assert.IsNotNull(adapter2, "facade2 cannot be null"); Assert.AreNotEqual(adapter1, adapter2, "facades match"); Assert.AreEqual(1, adapter1.CountCallGetAdapter, "there should have been 1 call GetAdapter"); Assert.AreEqual(0, adapter2.CountCallGetAdapter, "there should have been 0 call GetAdapter"); }) .Run(); }
/// <inheritdoc/> public virtual TAdapter GetAdapter <TAdapter>() where TAdapter : IAdapter, new() { return(AdapterBase.Create <TAdapter>(this)); }