From d23c457004b890e4b2604217bdf9ca81365b97f7 Mon Sep 17 00:00:00 2001 From: vasilbekk Date: Sat, 1 Oct 2022 14:02:56 +0300 Subject: [PATCH] Added unittests --- decimal_test.go | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/decimal_test.go b/decimal_test.go index 2b3a99e..14b135d 100644 --- a/decimal_test.go +++ b/decimal_test.go @@ -3339,3 +3339,51 @@ func ExampleNewFromFloat() { //0.123123123123123 //-10000000000000 } + +func TestDecimal_String(t *testing.T) { + type testData struct { + input string + expected string + } + + tests := []testData{ + {"1.22", "1.22"}, + {"1.00", "1"}, + {"153.192", "153.192"}, + {"999.999", "999.999"}, + {"0.0000000001", "0.0000000001"}, + {"0.0000000000", "0"}, + } + + for _, test := range tests { + d, err := NewFromString(test.input); + if err != nil { + t.Fatal(err) + } else if d.String() != test.expected { + t.Errorf("expected %s, got %s", test.expected, d.String()) + } + } + + defer func() { + StringTrimTrailingZeros = true + }() + + StringTrimTrailingZeros = false + tests = []testData{ + {"1.00", "1.00"}, + {"0.00", "0.00"}, + {"129.123000", "129.123000"}, + } + + for _, test := range tests { + d, err := NewFromString(test.input); + if err != nil { + t.Fatal(err) + } else if d.String() != test.expected { + t.Errorf("expected %s, got %s", test.expected, d.String()) + } + } + + + +} \ No newline at end of file