public void ValidateImplementationType_Should_Throw_A_NotAnInterfaceExcpetion_If_Generic_Parameter_Is_Not_A_Wcf_Service_Contract()
        {
            var clientType = typeof(TestInterfaceClass);

            var validator = new ServiceTypeValidator();

            try
            {
                validator.ValidateImplementationType(typeof(TestInterfaceClass), clientType);
                Assert.Fail("Should have errored");
            }
            catch (NotAnInterfaceExcpetion e)
            {
                Assert.That(e.ServiceType, Is.EqualTo(typeof(TestInterfaceClass)));
            }
        }
        public void ValidateImplementationType_Should_Throw_A_ServiceTypeMismatchException_If_Type_Does_Not_Implement_Generic_Parameter()
        {
            var clientType = typeof(ServiceTypeValidatorTests);

            var validator = new ServiceTypeValidator();

            try
            {
                validator.ValidateImplementationType(typeof(ITestInterface), clientType);
                Assert.Fail("Should have errored");
            }
            catch (ServiceTypeMismatchException e)
            {
                Assert.That(e.ImplementationType, Is.EqualTo(typeof(ServiceTypeValidatorTests)));
                Assert.That(e.ServiceType, Is.EqualTo(typeof(ITestInterface)));
            }
        }
        public void ValidateServiceType_Should_Throw_A_NotAWcfServiceExcpetion_If_Generic_Parameter_Is_Not_A_Wcf_Service_Contract()
        {
            var validator = new ServiceTypeValidator();

            try
            {
                validator.ValidateServiceType(typeof(InvalidTestInterface));
                Assert.Fail("Should have errored");
            }
            catch (NotAWcfServiceExcpetion e)
            {
                Assert.That(e.ServiceType, Is.EqualTo(typeof(InvalidTestInterface)));
            }
        }