public void GetImplementationType_ThrowsForNoImplementationType()
        {
            // Arrange
            var serviceType = typeof(IFakeService);
            var collection  = new ServiceCollection();
            var descriptor  = new ServiceDescriptor(serviceType, null);

            // Act & Assert
            ExceptionAssert.ThrowsArgument(
                () => descriptor.GetImplementationType(),
                null,
                AbstractionResources.FormatNoImplementation(serviceType));
        }
        public void TryAddEnumerable_ThrowsWhenAddingIndistinguishableImplementationType(
            ServiceDescriptor descriptor,
            Type serviceType,
            Type implementationType)
        {
            // Arrange
            var collection = new ServiceCollection();

            // Act & Assert
            ExceptionAssert.ThrowsArgument(
                () => collection.TryAddEnumerable(descriptor),
                "descriptor",
                AbstractionResources.FormatTryAddIndistinguishableTypeToEnumerable(implementationType, serviceType));
        }