github.com/choria-io/go-choria@v0.28.1-0.20240416190746-b3bf9c7d5a45/providers/agent/mcorpc/aggregate/average_test.go (about) 1 // Copyright (c) 2020-2022, R.I. Pienaar and the Choria Project contributors 2 // 3 // SPDX-License-Identifier: Apache-2.0 4 5 package aggregate 6 7 import ( 8 . "github.com/onsi/ginkgo/v2" 9 . "github.com/onsi/gomega" 10 ) 11 12 var _ = Describe("AverageAggregator", func() { 13 var ( 14 err error 15 agg *AverageAggregator 16 ) 17 18 BeforeEach(func() { 19 agg, err = NewAverageAggregator([]any{}) 20 Expect(err).ToNot(HaveOccurred()) 21 }) 22 23 Describe("ProcessValue", func() { 24 It("Should process various values", func() { 25 Expect(agg.ProcessValue(1)).ToNot(HaveOccurred()) 26 Expect(agg.ProcessValue(1.1)).ToNot(HaveOccurred()) 27 Expect(agg.ProcessValue(int64(100))).ToNot(HaveOccurred()) 28 Expect(agg.ProcessValue("1")).ToNot(HaveOccurred()) 29 Expect(agg.ProcessValue("a")).To(HaveOccurred()) 30 31 results, err := agg.ResultStrings() 32 Expect(err).ToNot(HaveOccurred()) 33 Expect(results).To(Equal(map[string]string{ 34 "Average": "25.775000", 35 })) 36 37 fresults, err := agg.ResultFormattedStrings("") 38 Expect(err).ToNot(HaveOccurred()) 39 Expect(fresults).To(Equal([]string{ 40 "Average: 25.775", 41 })) 42 43 jresults, err := agg.ResultJSON() 44 Expect(err).ToNot(HaveOccurred()) 45 Expect(jresults).To(MatchJSON("{\"average\":25.775}")) 46 }) 47 }) 48 })