summaryrefslogtreecommitdiff
path: root/ms/ms_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'ms/ms_test.go')
-rw-r--r--ms/ms_test.go71
1 files changed, 69 insertions, 2 deletions
diff --git a/ms/ms_test.go b/ms/ms_test.go
index d93102f..87f3c8a 100644
--- a/ms/ms_test.go
+++ b/ms/ms_test.go
@@ -106,6 +106,44 @@ func Test_Infinite50_percentile_jumbled(test *testing.T) {
}
}
+func Test_InfiniteDoubleSidedTrimmedMean_jumbled(test *testing.T) {
+ series := NewInfiniteMathematicalSeries[int64]()
+ series.AddElement(7)
+ series.AddElement(2)
+ series.AddElement(15)
+ series.AddElement(27)
+ series.AddElement(5)
+ series.AddElement(5)
+ series.AddElement(52)
+ series.AddElement(18)
+ series.AddElement(23)
+ series.AddElement(11)
+ series.AddElement(22)
+ series.AddElement(17)
+ series.AddElement(14)
+ series.AddElement(9)
+ series.AddElement(100)
+ series.AddElement(72)
+ series.AddElement(91)
+ series.AddElement(43)
+ series.AddElement(37)
+ series.AddElement(62)
+
+ trimmed := series.DoubleSidedTrim(10)
+
+ if trimmed.Len() != 16 {
+ test.Fatalf("Capped series is not of the proper size. Expected %v and got %v", 16, trimmed.Len())
+ }
+
+ prev := int64(0)
+ for _, v := range trimmed.Values() {
+ if !(prev <= v) {
+ test.Fatalf("Not sorted: %v is not less than or equal to %v\n", prev, v)
+ }
+ prev = v
+ }
+}
+
func Test_CappedSequentialIncreasesAlwaysLessThan(test *testing.T) {
series := NewCappedMathematicalSeries[float64](40)
previous := float64(1.0)
@@ -190,7 +228,7 @@ func Test_CappedRotatingValues(test *testing.T) {
test.Fatalf("Adding values does not properly erase earlier values.")
}
}
-func Test_CappedSize(test *testing.T) {
+func Test_CappedLen(test *testing.T) {
series := NewCappedMathematicalSeries[int](5)
series.AddElement(1)
@@ -202,7 +240,7 @@ func Test_CappedSize(test *testing.T) {
series.AddElement(6)
series.AddElement(7)
- if series.Size() != 5 {
+ if series.Len() != 5 {
test.Fatalf("Series size calculations failed.")
}
}
@@ -272,3 +310,32 @@ func Test_Capped50_percentile_jumbled(test *testing.T) {
test.Fatalf("Series 50 percentile of a jumble of numbers failed: Expected 15 got %v.", series.Percentile(50))
}
}
+
+func Test_CappedDoubleSidedTrimmedMean_jumbled(test *testing.T) {
+ series := NewCappedMathematicalSeries[int64](10)
+ series.AddElement(7)
+ series.AddElement(2)
+ series.AddElement(15)
+ series.AddElement(27)
+ series.AddElement(5)
+ series.AddElement(5)
+ series.AddElement(52)
+ series.AddElement(18)
+ series.AddElement(23)
+ series.AddElement(11)
+ series.AddElement(12)
+
+ trimmed := series.DoubleSidedTrim(10)
+
+ if trimmed.Len() != 8 {
+ test.Fatalf("Capped series is not of the proper size. Expected %v and got %v", 8, trimmed.Len())
+ }
+
+ prev := int64(0)
+ for _, v := range trimmed.Values() {
+ if !(prev <= v) {
+ test.Fatalf("Not sorted: %v is not less than or equal to %v\n", prev, v)
+ }
+ prev = v
+ }
+}