public void GetFloatsCount_RangeEndIsNull_ThrowsArgumentNullException()
 {
     // Act
     Assert.Throws <ArgumentNullException>(
         () => FloatCounter.GetFloatsCount(Array.Empty <float>(), Array.Empty <float>(), null),
         message: "Method throws ArgumentNullException in case an array of range ends is null.");
 }
 public void GetFloatsCountWithStartIndexAndCount_StartIndexIsNegative_ThrowArgumentOutOfRangeException()
 {
     // Act
     Assert.Throws <ArgumentOutOfRangeException>(
         () => FloatCounter.GetFloatsCount(Array.Empty <float>(), Array.Empty <float>(), Array.Empty <float>(), -123, 1),
         message: "Method throws ArgumentOutOfRangeException in case start index is negative.");
 }
 public void GetFloatsCount_ArrayToSearchIsNull_ThrowsArgumentNullException()
 {
     // Act
     Assert.Throws <ArgumentNullException>(
         () => FloatCounter.GetFloatsCount(null, Array.Empty <float>(), Array.Empty <float>()),
         message: "Method throws ArgumentNullException in case an array to search is null.");
 }
 public void GetFloatsCountWithStartIndexAndCount_RangeStartIsNull_ThrowsArgumentNullException()
 {
     // Act
     Assert.Throws <ArgumentNullException>(
         () => FloatCounter.GetFloatsCount(Array.Empty <float>(), null, Array.Empty <float>(), 0, 1),
         message: "Method throws ArgumentNullException in case an array of range starts is null.");
 }
        public void GetFloatsCount_RangesAreEmpty_ReturnZeroOccurrences()
        {
            // Act
            int actual = FloatCounter.GetFloatsCount(FloatCounterTests.ArrayWithNineElements, Array.Empty <float>(), Array.Empty <float>());

            // Assert
            Assert.AreEqual(0, actual);
        }
        public void GetFloatsCount_RangeStartValueIsGreaterThanRangeEndValue_ThrowsArgumentException()
        {
            // Arrange
            float[] rangeStart = { 0.2f, 0.9f };
            float[] rangeEnd   = { 0.1f, 0.8f };

            // Act
            Assert.Throws <ArgumentException>(
                () => FloatCounter.GetFloatsCount(Array.Empty <float>(), rangeStart, rangeEnd),
                message: "Method throws ArgumentException in case the range start value is greater than the range end value.");
        }
        public void GetFloatsCount_RangeStartAndRangeEndHaveDifferentNumberOfElements_ThrowsArgumentException()
        {
            // Arrange
            float[] rangeStart = { 0.1f };
            float[] rangeEnd   = { 0.2f, 0.9f };

            // Act
            Assert.Throws <ArgumentException>(
                () => FloatCounter.GetFloatsCount(Array.Empty <float>(), rangeStart, rangeEnd),
                message: "Method throws ArgumentException in case an arrays of range starts and range ends contain different number of elements.");
        }
        public void GetFloatsCountWithStartIndexAndCount_TheNumberOfElementsToSearchIsGreaterThanTheNumberOfElementsAvailableInTheArrayStartingFromTheStartIndexPosition_ThrowArgumentOutOfRangeException()
        {
            // Arrange
            float[] rangeStart = { 0.1f, 0.8f };
            float[] rangeEnd   = { 0.2f, 0.9f };

            // Act
            Assert.Throws <ArgumentOutOfRangeException>(
                () => FloatCounter.GetFloatsCount(Array.Empty <float>(), rangeStart, rangeEnd, 3, 110),
                message: "Method throws ArgumentOutOfRangeException in case the number of elements to search is greater than the number of elements available in the array starting from the startIndex position.");
        }
        public void GetFloatsCountWithStartIndexAndCount_CountIsLessThanZero_ThrowArgumentOutOfRangeException()
        {
            // Arrange
            float[] rangeStart = { 0.1f, 0.8f };
            float[] rangeEnd   = { 0.2f, 0.9f };

            // Act
            Assert.Throws <ArgumentOutOfRangeException>(
                () => FloatCounter.GetFloatsCount(Array.Empty <float>(), rangeStart, rangeEnd, 3, -1),
                message: "Method throws ArgumentOutOfRangeException in case count is less than zero.");
        }
        public void GetFloatsCountWithStartIndexAndCount_StartIndexIsGreaterThanTheLengthOfAnArrayToSearch_ThrowArgumentOutOfRangeException()
        {
            // Arrange
            float[] rangeStart = { 0.1f, 0.8f };
            float[] rangeEnd   = { 0.2f, 0.9f };

            // Act
            Assert.Throws <ArgumentOutOfRangeException>(
                () => FloatCounter.GetFloatsCount(Array.Empty <float>(), rangeStart, rangeEnd, 123, 1),
                message: "Method throws ArgumentOutOfRangeException in case start index is greater than the length of an array to search.");
        }
        public void GetFloatsCount_ArrayToSearchIsEmpty_ReturnZeroOccurrences()
        {
            // Arrange
            float[] rangeStart = { 0.1f };
            float[] rangeEnd   = { 0.1f };

            // Act
            int actual = FloatCounter.GetFloatsCount(Array.Empty <float>(), rangeStart, rangeEnd);

            // Assert
            Assert.AreEqual(0, actual);
        }
 public float GetFloatsCount_ParametersAreValid_ReturnsResult(float[] arrayToSearch, float[] rangeStart, float[] rangeEnd)
 {
     // Act
     return(FloatCounter.GetFloatsCount(arrayToSearch, rangeStart, rangeEnd));
 }
 public int GetFloatsCount_ParametersAreValid_ReturnsResult(float[] arrayToSearch, float[] rangeStart, float[] rangeEnd, int startIndex, int count)
 {
     // Act
     return(FloatCounter.GetFloatsCount(arrayToSearch, rangeStart, rangeEnd, startIndex, count));
 }