public void WhenResolving_ShouldValidateParameters_WhenGenericTypeIsGiven()
        {
            // Act
            Action action1 = () => FluentExtensions.WhenResolving <string>(null);
            Action action2 = () => FluentExtensions.WhenResolving <string>(null, "hello");

            // Assert
            action1.ShouldThrow <ArgumentNullException>();
            action2.ShouldThrow <ArgumentNullException>();
        }
        public void WhenResolving_ShouldValidateParameters_WhenLabelIsGiven()
        {
            // Arrange
            var mockContainer = new Mock <IContainer>(MockBehavior.Strict);
            var type          = typeof(string);

            // Act
            Action action1 = () => FluentExtensions.WhenResolving(null, null, "hello");
            Action action2 = () => FluentExtensions.WhenResolving(mockContainer.Object, null, "hello");
            Action action3 = () => FluentExtensions.WhenResolving(null, type, "hello");

            // Assert
            action1.ShouldThrow <ArgumentNullException>();
            action2.ShouldThrow <ArgumentNullException>();
            action3.ShouldThrow <ArgumentNullException>();
        }