From a1ea13ff2f4854993ab0f9d21b9994aaae1616b3 Mon Sep 17 00:00:00 2001 From: Natercio Moniz Date: Mon, 24 Nov 2025 15:53:38 +0000 Subject: [PATCH] add string method to the Nature type --- internal/nature.go | 7 +++++++ internal/nature_test.go | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 internal/nature_test.go diff --git a/internal/nature.go b/internal/nature.go index 2b757c4..049c066 100644 --- a/internal/nature.go +++ b/internal/nature.go @@ -13,3 +13,10 @@ const ( // Resgates ou alienação de unidades de participação ou liquidação de fundos de investimento NatureG20 Nature = "G20" ) + +func (n Nature) String() string { + if n == "" { + return "unknown" + } + return string(n) +} diff --git a/internal/nature_test.go b/internal/nature_test.go new file mode 100644 index 0000000..dded2fb --- /dev/null +++ b/internal/nature_test.go @@ -0,0 +1,38 @@ +package internal_test + +import ( + "testing" + + "github.com/nmoniz/any2anexoj/internal" +) + +func TestNature_StringUnknow(t *testing.T) { + tests := []struct { + name string + nature internal.Nature + want string + }{ + { + name: "return unknown", + want: "unknown", + }, + { + name: "return unknown", + nature: internal.NatureG01, + want: "G01", + }, + { + name: "return unknown", + nature: internal.NatureG20, + want: "G20", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := tt.nature.String() + if tt.want != got { + t.Fatalf("want %q but got %q", tt.want, got) + } + }) + } +}