static void Main(string[] args) { var t0 = new BasicTests(); t0.GetRandomInvocationSuccess().Wait(); var t1 = new ClusterCapacityTests(); t1.TestClusterCapacityLimit1().Wait(); t1.TestClusterCapacityLimit2().Wait(); var t2 = new HeartBeatTests(); t2.TestExcludeOnFailure().Wait(); t2.TestIncludeRecoveredProvider().Wait(); }
static async Task Main() { const int repeat = 50; const int concurrency = 4; const int testSize = 30000001; { Console.WriteLine("Standard DataFlow operation test..."); var block = new ActionBlock <int>(async i => await Delay(i)); var sw = Stopwatch.StartNew(); foreach (var i in Enumerable.Range(0, repeat)) { block.Post(i); } block.Complete(); await block.Completion; sw.Stop(); Console.WriteLine(sw.Elapsed); Console.WriteLine(); } await BasicTests.ReadAll(testSize); await BasicTests.ReadAllAsync(testSize); await BasicTests.BatchThenJoin(testSize, 5001); await BasicTests.BatchJoin(testSize, 50); { Console.WriteLine("Standard Channel filter test..."); var source = Enumerable .Repeat((Func <int, ValueTask <int> >)Delay, repeat) .Select((t, i) => t(i)); var sw = Stopwatch.StartNew(); var total = await source .ToChannelAsync(singleReader : true) .Filter(i => i % 2 == 0) .ReadAll(Dummy); sw.Stop(); Debug.Assert(total == repeat / 2); Console.WriteLine(sw.Elapsed); Console.WriteLine(); } { Console.WriteLine("Concurrent DataFlow operation test..."); var sw = Stopwatch.StartNew(); var block = new ActionBlock <int>(async i => await Delay(i), new ExecutionDataflowBlockOptions { MaxDegreeOfParallelism = concurrency }); foreach (var i in Enumerable.Range(0, repeat)) { block.Post(i); } block.Complete(); await block.Completion; sw.Stop(); Console.WriteLine(sw.Elapsed); Console.WriteLine(); } { Console.WriteLine("Concurrent Channel operation test..."); var sw = Stopwatch.StartNew(); await Enumerable .Repeat((Func <int, ValueTask <int> >) Delay, repeat) .Select((t, i) => t(i)) .ToChannelAsync(singleReader: false, maxConcurrency: concurrency) .ReadAllConcurrently(4, Dummy); sw.Stop(); Console.WriteLine(sw.Elapsed); Console.WriteLine(); } { Console.WriteLine("Pipe operation test..."); var sw = Stopwatch.StartNew(); var total = await Enumerable .Repeat((Func <int, ValueTask <int> >) Delay, repeat) .Select((t, i) => t(i)) .ToChannelAsync() .Pipe(i => i * 2) .ReadAll(Dummy); sw.Stop(); Debug.Assert(total == repeat); Console.WriteLine(sw.Elapsed); Console.WriteLine(); } { Console.WriteLine("Transform operation test..."); var sw = Stopwatch.StartNew(); await Enumerable .Repeat((Func <int, ValueTask <int> >) Delay, repeat) .Select((t, i) => t(i)) .ToChannelAsync() .Transform(i => i * 2L) .ReadAll(Dummy); sw.Stop(); Console.WriteLine(sw.Elapsed); Console.WriteLine(); } #if NETCOREAPP3_0 { Console.WriteLine("Async Enumerable test..."); var sw = Stopwatch.StartNew(); await foreach (var e in Enumerable .Repeat((Func <int, ValueTask <int> >)Delay, repeat) .Select((t, i) => t(i)) .ToChannelAsync() .ReadAllAsync()) { Dummy(e); } sw.Stop(); Console.WriteLine(sw.Elapsed); Console.WriteLine(); } #endif }
public static void RunBasicTests() { BasicTests.CheckSpectrumNumbers(); BasicTests.CheckBasicText(); }
public override void OneTimeSetUp() { base.OneTimeSetUp(); tests = new BasicTests(this.testContext); }