public void WhenModelBinderProviderContextIsNull_ItShouldThrowArgumentNullException()
        {
            // Arrange
            var modelBinderProvider = new IdentifierModelBinderProvider <int>();

            // Act
            IModelBinder Act() => modelBinderProvider.GetBinder(null);

            // Assert
            Assert.Throws <ArgumentNullException>(Act);
        }
        public void WhenModelTypeIsOfTypeUnknown_ItShouldReturnNull()
        {
            // Arrange
            var modelBinderProvider        = new IdentifierModelBinderProvider <int>();
            var modelBinderProviderContext = new Mock <ModelBinderProviderContext>();

            // modelBinderProviderContext.Metadata.ModelType
            var compositeMetadataDetailsProvider = new Mock <ICompositeMetadataDetailsProvider>();


            var data          = new DefaultModelMetadataProvider(compositeMetadataDetailsProvider.Object);
            var modelMetadata = data.GetMetadataForType(typeof(DateTime));

            modelBinderProviderContext.Setup(x => x.Metadata)
            .Returns(modelMetadata);

            // Act
            var modelBinder = modelBinderProvider.GetBinder(modelBinderProviderContext.Object);

            // Assert
            Assert.Null(modelBinder);
        }