public void FindPrimeNumbersWrongParams_ExpectArgumentOutOfRangeException() { Action actionArg1 = () => _ = PrimeCalculation.EratosthenesSieve(0, 1, null).ToArray(); Action actionArg2 = () => _ = PrimeCalculation.EratosthenesSieve(2, 0, null).ToArray(); actionArg1.Should().ThrowExactly <ArgumentOutOfRangeException>(); actionArg2.Should().ThrowExactly <ArgumentOutOfRangeException>(); }
/// <summary> /// Calculate prime numbers. Send message with result to ui handlers. Return result to server. /// </summary> /// <param name="requestParam"></param> /// <returns></returns> protected override async Task <PrimeRet> ResponseHandler(PrimeParam requestParam) { if (requestParam == null) { throw new NullReferenceException(nameof(requestParam)); } var result = new PrimeRet() { Primes = await Task.Run(() => PrimeCalculation.EratosthenesSieve(requestParam.BeginNumber, requestParam.Count, requestParam.Primes) .ToArray()).ConfigureAwait(false) }; await _eventAggregator.PublishOnCurrentThreadAsync(result); return(result); }
public void FindPrimeNumbers_ShouldReturnArray(int beginNo, int count, int[] primes, int[] expected) { var result = PrimeCalculation.EratosthenesSieve(beginNo, count, primes).ToArray(); result.Should().BeEquivalentTo(expected); }