public void GetLengthOfShortestString(string string1, string string2, string string3, string string4, int expected)
        {
            // Arrange
            ChallengeSet04 challenger = new ChallengeSet04();

            // Act
            int actual = challenger.GetLengthOfShortestString(string1, string2, string3, string4);

            // Assert
            Assert.Equal(expected, actual);
        }
        public void GetSmallestNumber(int num1, int num2, int num3, int num4, int expected)
        {
            // Arrange
            ChallengeSet04 challenger = new ChallengeSet04();

            // Act
            int actual = challenger.GetSmallestNumber(num1, num2, num3, num4);

            // Assert
            Assert.Equal(expected, actual);
        }
        public void Factorial(int number, int expected)
        {
            // Arrange
            ChallengeSet04 challenger = new ChallengeSet04();

            // Act
            int actual = challenger.Factorial(number);

            // Assert
            Assert.Equal(expected, actual);
        }
        public void AverageEvens(int[] numbers, double expected)
        {
            // Arrange
            ChallengeSet04 challenger = new ChallengeSet04();

            // Act
            double actual = challenger.AverageEvens(numbers);

            // Assert
            Assert.Equal(Math.Round(expected, 5), Math.Round(actual, 5));
        }
        public void MajorityOfElementsInArrayAreNull(object[] objects, bool expected)
        {
            // Arrange
            ChallengeSet04 challenger = new ChallengeSet04();

            // Act
            bool actual = challenger.MajorityOfElementsInArrayAreNull(objects);

            // Assert
            Assert.Equal(expected, actual);
        }
        // [InlineData(null, 0)] // Assumption: array will not be null
        public void AddEvenSubtractOdd(int[] numbers, int expected)
        {
            // Arrange
            ChallengeSet04 challenger = new ChallengeSet04();

            // Act
            int actual = challenger.AddEvenSubtractOdd(numbers);

            // Assert
            Assert.Equal(expected, actual);
        }
        public void IsStringANumber(string word, bool expected)
        {
            // Arrange
            ChallengeSet04 challenger = new ChallengeSet04();

            // Act
            bool actual = challenger.IsStringANumber(word);

            // Assert
            Assert.Equal(expected, actual);
        }
        public void CouldFormTriangle(int sideLength1, int sideLength2, int sideLength3, bool expected)
        {
            // Arrange
            ChallengeSet04 challenger = new ChallengeSet04();

            // Act
            bool actual = challenger.CouldFormTriangle(sideLength1, sideLength2, sideLength3);

            // Assert
            Assert.Equal(expected, actual);
        }
        public void ChangeBusinessNameTo_TrueCoders(string originalBusinessName)
        {
            // Arrange
            ChallengeSet04 challenger = new ChallengeSet04();
            Business       business   = new Business()
            {
                Name = originalBusinessName
            };

            // Act
            challenger.ChangeBusinessNameTo_TrueCoders(business);

            // Assert
            Assert.Equal("TrueCoders", business.Name);
        }
        public void NegativeFactorialShouldThrowArgumentOutOfRangeException()
        {
            // Arrange
            ChallengeSet04 challenger = new ChallengeSet04();
            int            negative1  = -1;
            int            negative2  = -2;
            int            negative3  = -3;

            // Act
            Action actual1 = () => challenger.Factorial(negative1);
            Action actual2 = () => challenger.Factorial(negative2);
            Action actual3 = () => challenger.Factorial(negative3);

            // Assert
            Assert.Throws <ArgumentOutOfRangeException>(actual1);
            Assert.Throws <ArgumentOutOfRangeException>(actual2);
            Assert.Throws <ArgumentOutOfRangeException>(actual3);
        }