public async Task UsageMethodAsync_Execute_ShouldReturnValidUsageResponse()
        {
            // Arrange
            BaseMethodTest bmt = new BaseMethodTest();

            // Act
            var target = new UsageMethod(bmt.Service);
            var results = await target.GetUsageAsync();

            // Assert
            TestResults(results);
        }
        public void UsageMethod_Execute_ShouldReturnValidUsageResponse()
        {
            // Arrange
            BaseMethodTest bmt = new BaseMethodTest();

            // Act
            var target = new UsageMethod(bmt.Service);
            var results = target.GetUsage();

            // Assert
            TestResults(results);
        }
        public async Task BlobBasicMethod_ExecuteAsync_ShouldReturnStringValues()
        {
            // Arrange
            BaseMethodTest bmt = new BaseMethodTest();
            const int numberToReturn = 2;
            int size = bmt.Random.Next(1, 10) * 8;

            // Act
            var target = new BlobBasicMethod(bmt.AdvisoryDelayHandler, bmt.Service);
            IEnumerable<string> actual = await target.GenerateBlobsAsync(numberToReturn, size);

            // Assert
            TestResults(actual, numberToReturn);
        }
        public void DecimalBasicMethod_Execute_ShouldReturnDecimalValuesInRange()
        {
            // Arrange
            BaseMethodTest bmt = new BaseMethodTest();
            const int numberToReturn = 2;
            int numberOfDecimalPlaces = bmt.Random.Next(1, 20);
            const bool allowDuplicates = false;

            // Act
            var target = new DecimalBasicMethod(bmt.AdvisoryDelayHandler, bmt.Service);
            var actual = target.GenerateDecimalsFractions(numberToReturn, numberOfDecimalPlaces, allowDuplicates);

            TestResults(actual.ToList(), numberToReturn, numberOfDecimalPlaces);
        }
        public async Task UuidBasicMethod_ExecuteAsync_ShouldReturnGuidValues()
        {
            // Arrange
            BaseMethodTest bmt = new BaseMethodTest();
            int numberToReturn = 2;

            // Act
            var target = new UuidBasicMethod(bmt.AdvisoryDelayHandler, bmt.Service);
            IEnumerable<Guid> results = await target.GenerateUuidsAsync(numberToReturn);

            // Assert
            results.Should().Not.Be.Null();
            results.Count().Should().Equal(numberToReturn);
        }
        public async Task IntegerBasicMethod_ExecuteAsync_ShouldReturnIntegerValuesInRange()
        {
            // Arrange
            BaseMethodTest bmt = new BaseMethodTest();
            int numberToReturn = 2;
            int minNumber = bmt.Random.Next(1, 1000);
            int maxNumber = bmt.Random.Next(minNumber + 1, 1000000);
            bool allowDuplicates = bmt.Random.Next(1, 2) == 1;

            // Act
            var target = new IntegerBasicMethod(bmt.AdvisoryDelayHandler, bmt.Service);
            var results = await target.GenerateIntegersAsync(numberToReturn, minNumber, maxNumber, allowDuplicates);

            // Assert
            TestResults(results.ToList(), numberToReturn, minNumber, maxNumber, allowDuplicates);
        }
        public async Task StringBasicMethod_ExecuteAsync_ShouldReturnStringValues()
        {
            // Arrange
            BaseMethodTest bmt = new BaseMethodTest();
            int numberToReturn = 2;
            int length = bmt.Random.Next(1, 20);
            CharactersAllowed charactersAllowed = CharactersAllowed.AlphaNumeric;
            const bool allowDuplicates = false;

            var target = new StringBasicMethod(bmt.AdvisoryDelayHandler, bmt.Service);
            var results = await target.GenerateStringsAsync(numberToReturn, length, charactersAllowed, allowDuplicates);

            // Assert
            TestResults(results.ToList(), numberToReturn, length,
                "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");
        }
        public async Task GuassianBasicMethod_ExecuteAsync_ShouldReturnDoubleValuesInRange()
        {
            // Arrange
            BaseMethodTest bmt = new BaseMethodTest();
            int numberToReturn = 2;
            int mean = bmt.Random.Next(-1000000, 1000000);
            int standardDeviation = bmt.Random.Next(-1000000, 1000000);
            int signifantDigits = bmt.Random.Next(2, 20);

            // Act
            var target = new GuassianBasicMethod(bmt.AdvisoryDelayHandler, bmt.Service);
            var results = await target.GenerateGuassiansAsync(numberToReturn, mean, standardDeviation, signifantDigits);

            // Assert
            TestResults(results.ToList(), numberToReturn);
        }