From 1f9be057b686c491cd91b01bd335bf8fd670a4b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emmanuel=20BENO=C3=8ET?= Date: Sat, 20 Jul 2024 20:33:15 +0200 Subject: [PATCH] fix(pkg): fix using `~` as the lower bound for `RangeMinMax` --- pkg/perfdata/range.go | 3 +++ pkg/perfdata/range_test.go | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/pkg/perfdata/range.go b/pkg/perfdata/range.go index 02face6..5c621d2 100644 --- a/pkg/perfdata/range.go +++ b/pkg/perfdata/range.go @@ -35,6 +35,9 @@ func RangeMinMax(min, max string) *Range { panic("invalid performance data range minimum value") } pdRange := &Range{} + if min == "~" { + min = "" + } pdRange.start = min pdRange.end = max return pdRange diff --git a/pkg/perfdata/range_test.go b/pkg/perfdata/range_test.go index 2bcf56f..a7d616a 100644 --- a/pkg/perfdata/range_test.go +++ b/pkg/perfdata/range_test.go @@ -43,6 +43,14 @@ func TestRangeMinMax(t *testing.T) { assert.False(t, pdr.inside, "Inside flag should not be set") } +func TestRangeMinMaxOpen(t *testing.T) { + min, max := "~", "456" + pdr := RangeMinMax(min, max) + assert.Equal(t, "", pdr.start, "Min value not clear in PerfDataRange") + assert.Equal(t, max, pdr.end, "Max value not copied to PerfDataRange") + assert.False(t, pdr.inside, "Inside flag should not be set") +} + func TestRangeInside(t *testing.T) { pdr := &Range{} pdr = pdr.Inside()