public void ComputeAdapterNameResolvesActualProtocolTypeNameForWcfCustomAdapter()
        {
            var sut = new NamingConventionDouble();

            IAdapter adapter = new CustomAdapterFake <NetTcpBindingElement, CustomRLConfig>();

            Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomNetTcp"));

            adapter = new CustomAdapterFake <System.ServiceModel.Configuration.NetMsmqBindingElement, CustomRLConfig>();
            Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomNetMsmq"));

            adapter = new CustomAdapterFake <Be.Stateless.BizTalk.Dsl.Binding.ServiceModel.Configuration.NetMsmqBindingElement, CustomRLConfig>();
            Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomNetMsmq"));

            adapter = new CustomAdapterFake <OracleDBBindingConfigurationElement, CustomRLConfig>();
            Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomOracleDB"));

            adapter = new CustomAdapterFake <SqlAdapterBindingConfigurationElement, CustomRLConfig>();
            Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomSql"));

            adapter = new WcfCustomAdapter.Outbound <CustomBindingElement>(a => a.Binding.Add(new MtomMessageEncodingElement(), new HttpsTransportElement()));
            Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomHttps"));

            adapter = new WcfCustomAdapter.Outbound <CustomBindingElement>(a => a.Binding.Add(new TcpTransportElement()));
            Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomTcp"));

            adapter = new WcfCustomAdapter.Outbound <CustomBindingElement>(a => a.Binding.Add(new SAPAdapterExtensionElement()));
            Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomSap"));

            adapter = new WcfCustomAdapter.Outbound <CustomBindingElement>(a => a.Binding.Add(new SqlAdapterBindingElementExtensionElement()));
            Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomSql"));

            // notice that OracleDBAdapterExtensionElement cannot be used because it is internal :(
            //adapter = new WcfCustomAdapter.Outbound<CustomBindingElement>(a => a.Binding.Add(new OracleDBAdapterExtensionElement()));
        }
        public void ComputeAdapterNameResolvesActualProtocolTypeNameForWcfCustomIsolatedAdapter()
        {
            var sut = new NamingConventionDouble();

            IAdapter adapter = new CustomIsolatedAdapterFake <NetTcpBindingElement, CustomRLConfig>();

            Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomIsolatedNetTcp"));

            adapter = new CustomIsolatedAdapterFake <WSHttpBindingElement, CustomRLConfig>();
            Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomIsolatedWsHttp"));

            adapter = new CustomIsolatedAdapterFake <BasicHttpBindingElement, CustomRLConfig>();
            Assert.That(sut.ComputeAdapterNameSpy(adapter), Is.EqualTo("WCF-CustomIsolatedBasicHttp"));
        }