diff --git a/test/common.go b/test/common.go index e118fc8..f3225b1 100644 --- a/test/common.go +++ b/test/common.go @@ -136,20 +136,3 @@ func MapIndex[A any, B any](f func(i int, a A) B, as []A) []B { return bs } - -func decodeJsonToR[R any](path string) R { - var ret R - - file, err := os.Open(path) - if err != nil { - panic(err) - } - - dec := json.NewDecoder(file) - dec.DisallowUnknownFields() - if err := dec.Decode(&ret); err != nil { - panic(err) // not really a panic error - } - - return ret -} diff --git a/test/evaluate_integration_test.go b/test/evaluate_integration_test.go index 5ff5ec1..d27e42a 100644 --- a/test/evaluate_integration_test.go +++ b/test/evaluate_integration_test.go @@ -72,6 +72,20 @@ func TestEvaluate(t *testing.T) { } } + ef := func(er *clarify.EvaluateResult) bool { + // this could be done better! + // like some kind of order of items, groups, and calculations as test input, + // looped through here to verify they exist in the output. + _, ok1 := er.Data["i0"] + _, ok2 := er.Data["i1"] + _, ok3 := er.Data["c1"] + _, ok4 := er.Data["c2"] + _, ok5 := er.Data["c3"] + _, ok6 := er.Data["g1"] + + return ok1 && ok2 && ok3 && ok4 && ok5 && ok6 + } + t.Run("basic evaluate test", test(testCase{ testArgs: a, itemIDs: itemIDs, @@ -79,13 +93,7 @@ func TestEvaluate(t *testing.T) { data: fields.Data().Where(fields.TimeRange(t0, t1)).RollupDuration(time.Hour, time.Monday), timeAggregation: fields.TimeAggregationAvg, groupAggregation: fields.GroupAggregationAvg, - expectedFields: func(er *clarify.EvaluateResult) bool { - // null ut alle sjanglete verdier rekursivt - // diff - cool := decodeJsonToR[clarify.EvaluateResult]("assets/evaluate.json") - - return cool.Data != nil - }, + expectedFields: ef, })) for ta := fields.TimeAggregationDefault + 1; ta <= fields.TimeAggregationRate; ta++ { @@ -96,11 +104,7 @@ func TestEvaluate(t *testing.T) { data: fields.Data().Where(fields.TimeRange(t0, t1)).RollupDuration(time.Hour, time.Monday), timeAggregation: ta, groupAggregation: fields.GroupAggregationAvg, - expectedFields: func(er *clarify.EvaluateResult) bool { - cool := decodeJsonToR[clarify.EvaluateResult]("assets/evaluate.json") - - return cool.Data != nil - }, + expectedFields: ef, })) } @@ -112,11 +116,7 @@ func TestEvaluate(t *testing.T) { data: fields.Data().Where(fields.TimeRange(t0, t1)).RollupDuration(time.Hour, time.Monday), timeAggregation: fields.TimeAggregationAvg, groupAggregation: ga, - expectedFields: func(er *clarify.EvaluateResult) bool { - cool := decodeJsonToR[clarify.EvaluateResult]("assets/evaluate.json") - - return cool.Data != nil - }, + expectedFields: ef, })) } } diff --git a/test/select_signal_integration_test.go b/test/select_signal_integration_test.go index 84d4624..1f88000 100644 --- a/test/select_signal_integration_test.go +++ b/test/select_signal_integration_test.go @@ -61,9 +61,7 @@ func TestSelectSignal(t *testing.T) { testArgs: a, signals: createAnnotationQuery(a.prefix), expectedFields: func(ssr *clarify.SelectSignalsResult) bool { - cool := decodeJsonToR[clarify.SelectSignalsResult]("assets/select_signals.json") - - return cool.Data != nil + return true }, })) }