blob: cd7c3b104c51ab580fdd20d175f4f34f5b46039b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
namespace LivingVillage.Desktop.Tests
open System
open Microsoft.VisualStudio.TestTools.UnitTesting
open LivingVillage.Desktop
[<TestClass>]
type PerformanceSummaryTests () =
let close (expected: float) (actual: float) =
Assert.IsTrue(abs (expected - actual) < 0.0001, sprintf "expected %f but got %f" expected actual)
[<TestMethod>]
member _.SummarizeDropsWarmupAndReportsMeanMinMax () =
match PerformanceSummary.summarize 2 [ 10.0; 20.0; 30.0; 40.0 ] with
| None -> Assert.Fail("expected a summary")
| Some summary ->
Assert.AreEqual<int>(2, summary.Count)
close 35.0 summary.Mean
close 30.0 summary.Min
close 40.0 summary.Max
[<TestMethod>]
member _.SummarizeReturnsNoneWhenNoRealSampleRemains () =
Assert.IsTrue((PerformanceSummary.summarize 5 [ 1.0; 2.0 ]).IsNone)
Assert.IsTrue((PerformanceSummary.summarize 0 []).IsNone)
[<TestMethod>]
member _.SummarizeWithZeroWarmupKeepsEverySample () =
match PerformanceSummary.summarize 0 [ 60.0; 59.5; 61.0 ] with
| None -> Assert.Fail("expected a summary")
| Some summary ->
Assert.AreEqual<int>(3, summary.Count)
close 59.5 summary.Min
|