public void TestMethod1() { // Could set globally, but that would cause issues with concurrency // Though, we probably don't want concurrent execution during benchmarks, huh? :) using (PerfAssert.Context.UsingAssertionViolatedMethod((string message) => Assert.Fail(message))) using (PerfAssert.Context.UsingBenchmarkRunner(BenchmarkRunCache.Instance)) { PerfAssert.That <UnitTest1>(t => t.Faster()) .Is().FasterThan(t => t.Slower()); } }
public void NotMuchSlowerThan_WhenNotEnumerating() { // Could set globally, but that would cause issues with concurrency // Though, we probably don't want concurrent execution during benchmarks, huh? :) using (PerfAssert.Context.UsingAssertionViolatedMethod((string message) => Assert.Fail(message))) using (PerfAssert.Context.UsingBenchmarkRunner(BenchmarkRunCache.Instance)) { PerfAssert.That <ReverseTests>(t => t.FastLinq_Nominal_IgnoreResult()) .Is().NotWorseRuntimeThan(t => t.Enumerable_Nominal_IgnoreResult()); } }
public void StartsWithIsNoMoreThanTwiceAsSlow() { Trace.Listeners.Add(new ConsoleTraceListener()); using (PerfAssert.Context.UsingAssertionViolatedMethod((string message) => Assert.Fail(message))) using (PerfAssert.Context.UsingBenchmarkRunner(BenchmarkRunCache.Instance)) { PerfAssert.That <StringBenchmarks_StartsWith>(t => t.ThisLibrary()) .Is() .FasterThan(t => t.BuiltInTwice()); } }