diff options
Diffstat (limited to 'fi')
-rw-r--r-- | fi/fi.go | 2 | ||||
-rw-r--r-- | fi/fi_test.go | 1120 |
2 files changed, 1121 insertions, 1 deletions
@@ -73,7 +73,7 @@ func New() locales.Translator { erasAbbreviated: []string{"eKr.", "jKr."}, erasNarrow: []string{"eK", "jK"}, erasWide: []string{"ennen Kristuksen syntymää", "jälkeen Kristuksen syntymän"}, - timezones: map[string]string{"UYT": "Uruguayn normaaliaika", "ACWDT": "Läntisen Keski-Australian kesäaika", "COT": "Kolumbian normaaliaika", "WAT": "Länsi-Afrikan normaaliaika", "BT": "Bhutanin aika", "LHST": "Lord Howen normaaliaika", "AKDT": "Alaskan kesäaika", "AWST": "Länsi-Australian normaaliaika", "AKST": "Alaskan normaaliaika", "GFT": "Ranskan Guayanan aika", "TMST": "Turkmenistanin kesäaika", "ACDT": "Keski-Australian kesäaika", "JST": "Japanin normaaliaika", "OESZ": "Itä-Euroopan kesäaika", "GMT": "Greenwichin normaaliaika", "ADT": "Kanadan Atlantin kesäaika", "WITA": "Keski-Indonesian aika", "OEZ": "Itä-Euroopan normaaliaika", "VET": "Venezuelan aika", "HAT": "Newfoundlandin kesäaika", "TMT": "Turkmenistanin normaaliaika", "MST": "Macaon normaaliaika", "MEZ": "Keski-Euroopan normaaliaika", "WESZ": "Länsi-Euroopan kesäaika", "AST": "Kanadan Atlantin normaaliaika", "HKT": "Hongkongin normaaliaika", "LHDT": "Lord Howen kesäaika", "SRT": "Surinamin aika", "CLST": "Chilen kesäaika", "WAST": "Länsi-Afrikan kesäaika", "CHAST": "Chathamin normaaliaika", "CAT": "Keski-Afrikan aika", "WARST": "Länsi-Argentiinan kesäaika", "WIB": "Länsi-Indonesian aika", "IST": "Intian aika", "∅∅∅": "Amazonin kesäaika", "PST": "Yhdysvaltain Tyynenmeren normaaliaika", "EST": "Yhdysvaltain itäinen normaaliaika", "CST": "Yhdysvaltain keskinen normaaliaika", "CDT": "Yhdysvaltain keskinen kesäaika", "EAT": "Itä-Afrikan aika", "GYT": "Guyanan aika", "AWDT": "Länsi-Australian kesäaika", "CLT": "Chilen normaaliaika", "EDT": "Yhdysvaltain itäinen kesäaika", "SGT": "Singaporen aika", "MYT": "Malesian aika", "NZST": "Uuden-Seelannin normaaliaika", "CHADT": "Chathamin kesäaika", "ACST": "Keski-Australian normaaliaika", "ACWST": "Läntisen Keski-Australian normaaliaika", "AEDT": "Itä-Australian kesäaika", "SAST": "Etelä-Afrikan aika", "HNT": "Newfoundlandin normaaliaika", "PDT": "Yhdysvaltain Tyynenmeren kesäaika", "BOT": "Bolivian aika", "ChST": "Tšamorron aika", "MDT": "Macaon kesäaika", "WIT": "Itä-Indonesian aika", "HAST": "Havaijin-Aleuttien normaaliaika", "ARST": "Argentiinan kesäaika", "NZDT": "Uuden-Seelannin kesäaika", "COST": "Kolumbian kesäaika", "WART": "Länsi-Argentiinan normaaliaika", "JDT": "Japanin kesäaika", "UYST": "Uruguayn kesäaika", "ECT": "Ecuadorin aika", "ART": "Argentiinan normaaliaika", "AEST": "Itä-Australian normaaliaika", "HADT": "Havaijin-Aleuttien kesäaika", "MESZ": "Keski-Euroopan kesäaika", "WEZ": "Länsi-Euroopan normaaliaika", "HKST": "Hongkongin kesäaika"}, + timezones: map[string]string{"CLT": "Chilen normaaliaika", "WARST": "Länsi-Argentiinan kesäaika", "GFT": "Ranskan Guayanan aika", "VET": "Venezuelan aika", "MEZ": "Keski-Euroopan normaaliaika", "COT": "Kolumbian normaaliaika", "TMT": "Turkmenistanin normaaliaika", "EAT": "Itä-Afrikan aika", "CST": "Yhdysvaltain keskinen normaaliaika", "HKT": "Hongkongin normaaliaika", "JST": "Japanin normaaliaika", "NZDT": "Uuden-Seelannin kesäaika", "COST": "Kolumbian kesäaika", "WAST": "Länsi-Afrikan kesäaika", "CAT": "Keski-Afrikan aika", "WAT": "Länsi-Afrikan normaaliaika", "SRT": "Surinamin aika", "AKDT": "Alaskan kesäaika", "SGT": "Singaporen aika", "BT": "Bhutanin aika", "CHAST": "Chathamin normaaliaika", "AWST": "Länsi-Australian normaaliaika", "OEZ": "Itä-Euroopan normaaliaika", "LHDT": "Lord Howen kesäaika", "UYST": "Uruguayn kesäaika", "LHST": "Lord Howen normaaliaika", "MYT": "Malesian aika", "WITA": "Keski-Indonesian aika", "PDT": "Yhdysvaltain Tyynenmeren kesäaika", "HAT": "Newfoundlandin kesäaika", "ECT": "Ecuadorin aika", "AKST": "Alaskan normaaliaika", "HADT": "Havaijin-Aleuttien kesäaika", "NZST": "Uuden-Seelannin normaaliaika", "IST": "Intian aika", "SAST": "Etelä-Afrikan aika", "MESZ": "Keski-Euroopan kesäaika", "TMST": "Turkmenistanin kesäaika", "AEST": "Itä-Australian normaaliaika", "MST": "Macaon normaaliaika", "JDT": "Japanin kesäaika", "ART": "Argentiinan normaaliaika", "HAST": "Havaijin-Aleuttien normaaliaika", "WESZ": "Länsi-Euroopan kesäaika", "AEDT": "Itä-Australian kesäaika", "GYT": "Guyanan aika", "UYT": "Uruguayn normaaliaika", "ARST": "Argentiinan kesäaika", "BOT": "Bolivian aika", "EDT": "Yhdysvaltain itäinen kesäaika", "WIB": "Länsi-Indonesian aika", "WEZ": "Länsi-Euroopan normaaliaika", "WART": "Länsi-Argentiinan normaaliaika", "MDT": "Macaon kesäaika", "AST": "Kanadan Atlantin normaaliaika", "ADT": "Kanadan Atlantin kesäaika", "WIT": "Itä-Indonesian aika", "ACST": "Keski-Australian normaaliaika", "∅∅∅": "Azorien kesäaika", "CHADT": "Chathamin kesäaika", "AWDT": "Länsi-Australian kesäaika", "EST": "Yhdysvaltain itäinen normaaliaika", "PST": "Yhdysvaltain Tyynenmeren normaaliaika", "ACWST": "Läntisen Keski-Australian normaaliaika", "HNT": "Newfoundlandin normaaliaika", "OESZ": "Itä-Euroopan kesäaika", "GMT": "Greenwichin normaaliaika", "ChST": "Tšamorron aika", "ACWDT": "Läntisen Keski-Australian kesäaika", "CLST": "Chilen kesäaika", "CDT": "Yhdysvaltain keskinen kesäaika", "ACDT": "Keski-Australian kesäaika", "HKST": "Hongkongin kesäaika"}, } } diff --git a/fi/fi_test.go b/fi/fi_test.go new file mode 100644 index 00000000..5176a0f3 --- /dev/null +++ b/fi/fi_test.go @@ -0,0 +1,1120 @@ +package fi + +import ( + "testing" + "time" + + "github.com/go-playground/locales" + "github.com/go-playground/locales/currency" +) + +func TestLocale(t *testing.T) { + + trans := New() + expected := "fi" + + if trans.Locale() != expected { + t.Errorf("Expected '%s' Got '%s'", expected, trans.Locale()) + } +} + +func TestPluralsRange(t *testing.T) { + + trans := New() + + tests := []struct { + expected locales.PluralRule + }{ + // { + // expected: locales.PluralRuleOther, + // }, + } + + rules := trans.PluralsRange() + // expected := 1 + // if len(rules) != expected { + // t.Errorf("Expected '%d' Got '%d'", expected, len(rules)) + // } + + for _, tt := range tests { + + r := locales.PluralRuleUnknown + + for i := 0; i < len(rules); i++ { + if rules[i] == tt.expected { + r = rules[i] + break + } + } + if r == locales.PluralRuleUnknown { + t.Errorf("Expected '%s' Got '%s'", tt.expected, r) + } + } +} + +func TestPluralsOrdinal(t *testing.T) { + + trans := New() + + tests := []struct { + expected locales.PluralRule + }{ + // { + // expected: locales.PluralRuleOne, + // }, + // { + // expected: locales.PluralRuleTwo, + // }, + // { + // expected: locales.PluralRuleFew, + // }, + // { + // expected: locales.PluralRuleOther, + // }, + } + + rules := trans.PluralsOrdinal() + // expected := 4 + // if len(rules) != expected { + // t.Errorf("Expected '%d' Got '%d'", expected, len(rules)) + // } + + for _, tt := range tests { + + r := locales.PluralRuleUnknown + + for i := 0; i < len(rules); i++ { + if rules[i] == tt.expected { + r = rules[i] + break + } + } + if r == locales.PluralRuleUnknown { + t.Errorf("Expected '%s' Got '%s'", tt.expected, r) + } + } +} + +func TestPluralsCardinal(t *testing.T) { + + trans := New() + + tests := []struct { + expected locales.PluralRule + }{ + // { + // expected: locales.PluralRuleOne, + // }, + // { + // expected: locales.PluralRuleOther, + // }, + } + + rules := trans.PluralsCardinal() + // expected := 2 + // if len(rules) != expected { + // t.Errorf("Expected '%d' Got '%d'", expected, len(rules)) + // } + + for _, tt := range tests { + + r := locales.PluralRuleUnknown + + for i := 0; i < len(rules); i++ { + if rules[i] == tt.expected { + r = rules[i] + break + } + } + if r == locales.PluralRuleUnknown { + t.Errorf("Expected '%s' Got '%s'", tt.expected, r) + } + } +} + +func TestRangePlurals(t *testing.T) { + + trans := New() + + tests := []struct { + num1 float64 + v1 uint64 + num2 float64 + v2 uint64 + expected locales.PluralRule + }{ + // { + // num1: 1, + // v1: 1, + // num2: 2, + // v2: 2, + // expected: locales.PluralRuleOther, + // }, + } + + for _, tt := range tests { + rule := trans.RangePluralRule(tt.num1, tt.v1, tt.num2, tt.v2) + if rule != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, rule) + } + } +} + +func TestOrdinalPlurals(t *testing.T) { + + trans := New() + + tests := []struct { + num float64 + v uint64 + expected locales.PluralRule + }{ + // { + // num: 1, + // v: 0, + // expected: locales.PluralRuleOne, + // }, + // { + // num: 2, + // v: 0, + // expected: locales.PluralRuleTwo, + // }, + // { + // num: 3, + // v: 0, + // expected: locales.PluralRuleFew, + // }, + // { + // num: 4, + // v: 0, + // expected: locales.PluralRuleOther, + // }, + } + + for _, tt := range tests { + rule := trans.OrdinalPluralRule(tt.num, tt.v) + if rule != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, rule) + } + } +} + +func TestCardinalPlurals(t *testing.T) { + + trans := New() + + tests := []struct { + num float64 + v uint64 + expected locales.PluralRule + }{ + // { + // num: 1, + // v: 0, + // expected: locales.PluralRuleOne, + // }, + // { + // num: 4, + // v: 0, + // expected: locales.PluralRuleOther, + // }, + } + + for _, tt := range tests { + rule := trans.CardinalPluralRule(tt.num, tt.v) + if rule != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, rule) + } + } +} + +func TestDaysAbbreviated(t *testing.T) { + + trans := New() + days := trans.WeekdaysAbbreviated() + + for i, day := range days { + s := trans.WeekdayAbbreviated(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", day, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "Sun", + // }, + // { + // idx: 1, + // expected: "Mon", + // }, + // { + // idx: 2, + // expected: "Tue", + // }, + // { + // idx: 3, + // expected: "Wed", + // }, + // { + // idx: 4, + // expected: "Thu", + // }, + // { + // idx: 5, + // expected: "Fri", + // }, + // { + // idx: 6, + // expected: "Sat", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayAbbreviated(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestDaysNarrow(t *testing.T) { + + trans := New() + days := trans.WeekdaysNarrow() + + for i, day := range days { + s := trans.WeekdayNarrow(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", string(day), s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "S", + // }, + // { + // idx: 1, + // expected: "M", + // }, + // { + // idx: 2, + // expected: "T", + // }, + // { + // idx: 3, + // expected: "W", + // }, + // { + // idx: 4, + // expected: "T", + // }, + // { + // idx: 5, + // expected: "F", + // }, + // { + // idx: 6, + // expected: "S", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayNarrow(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestDaysShort(t *testing.T) { + + trans := New() + days := trans.WeekdaysShort() + + for i, day := range days { + s := trans.WeekdayShort(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", day, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "Su", + // }, + // { + // idx: 1, + // expected: "Mo", + // }, + // { + // idx: 2, + // expected: "Tu", + // }, + // { + // idx: 3, + // expected: "We", + // }, + // { + // idx: 4, + // expected: "Th", + // }, + // { + // idx: 5, + // expected: "Fr", + // }, + // { + // idx: 6, + // expected: "Sa", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayShort(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestDaysWide(t *testing.T) { + + trans := New() + days := trans.WeekdaysWide() + + for i, day := range days { + s := trans.WeekdayWide(time.Weekday(i)) + if s != day { + t.Errorf("Expected '%s' Got '%s'", day, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 0, + // expected: "Sunday", + // }, + // { + // idx: 1, + // expected: "Monday", + // }, + // { + // idx: 2, + // expected: "Tuesday", + // }, + // { + // idx: 3, + // expected: "Wednesday", + // }, + // { + // idx: 4, + // expected: "Thursday", + // }, + // { + // idx: 5, + // expected: "Friday", + // }, + // { + // idx: 6, + // expected: "Saturday", + // }, + } + + for _, tt := range tests { + s := trans.WeekdayWide(time.Weekday(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestMonthsAbbreviated(t *testing.T) { + + trans := New() + months := trans.MonthsAbbreviated() + + for i, month := range months { + s := trans.MonthAbbreviated(time.Month(i + 1)) + if s != month { + t.Errorf("Expected '%s' Got '%s'", month, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 1, + // expected: "Jan", + // }, + // { + // idx: 2, + // expected: "Feb", + // }, + // { + // idx: 3, + // expected: "Mar", + // }, + // { + // idx: 4, + // expected: "Apr", + // }, + // { + // idx: 5, + // expected: "May", + // }, + // { + // idx: 6, + // expected: "Jun", + // }, + // { + // idx: 7, + // expected: "Jul", + // }, + // { + // idx: 8, + // expected: "Aug", + // }, + // { + // idx: 9, + // expected: "Sep", + // }, + // { + // idx: 10, + // expected: "Oct", + // }, + // { + // idx: 11, + // expected: "Nov", + // }, + // { + // idx: 12, + // expected: "Dec", + // }, + } + + for _, tt := range tests { + s := trans.MonthAbbreviated(time.Month(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestMonthsNarrow(t *testing.T) { + + trans := New() + months := trans.MonthsNarrow() + + for i, month := range months { + s := trans.MonthNarrow(time.Month(i + 1)) + if s != month { + t.Errorf("Expected '%s' Got '%s'", month, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 1, + // expected: "J", + // }, + // { + // idx: 2, + // expected: "F", + // }, + // { + // idx: 3, + // expected: "M", + // }, + // { + // idx: 4, + // expected: "A", + // }, + // { + // idx: 5, + // expected: "M", + // }, + // { + // idx: 6, + // expected: "J", + // }, + // { + // idx: 7, + // expected: "J", + // }, + // { + // idx: 8, + // expected: "A", + // }, + // { + // idx: 9, + // expected: "S", + // }, + // { + // idx: 10, + // expected: "O", + // }, + // { + // idx: 11, + // expected: "N", + // }, + // { + // idx: 12, + // expected: "D", + // }, + } + + for _, tt := range tests { + s := trans.MonthNarrow(time.Month(tt.idx)) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestMonthsWide(t *testing.T) { + + trans := New() + months := trans.MonthsWide() + + for i, month := range months { + s := trans.MonthWide(time.Month(i + 1)) + if s != month { + t.Errorf("Expected '%s' Got '%s'", month, s) + } + } + + tests := []struct { + idx int + expected string + }{ + // { + // idx: 1, + // expected: "January", + // }, + // { + // idx: 2, + // expected: "February", + // }, + // { + // idx: 3, + // expected: "March", + // }, + // { + // idx: 4, + // expected: "April", + // }, + // { + // idx: 5, + // expected: "May", + // }, + // { + // idx: 6, + // expected: "June", + // }, + // { + // idx: 7, + // expected: "July", + // }, + // { + // idx: 8, + // expected: "August", + // }, + // { + // idx: 9, + // expected: "September", + // }, + // { + // idx: 10, + // expected: "October", + // }, + // { + // idx: 11, + // expected: "November", + // }, + // { + // idx: 12, + // expected: "December", + // }, + } + + for _, tt := range tests { + s := string(trans.MonthWide(time.Month(tt.idx))) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeFull(t *testing.T) { + + // loc, err := time.LoadLocation("America/Toronto") + // if err != nil { + // t.Errorf("Expected '<nil>' Got '%s'", err) + // } + + // fixed := time.FixedZone("OTHER", -4) + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, loc), + // expected: "9:05:01 am Eastern Standard Time", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, fixed), + // expected: "8:05:01 pm OTHER", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeFull(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeLong(t *testing.T) { + + // loc, err := time.LoadLocation("America/Toronto") + // if err != nil { + // t.Errorf("Expected '<nil>' Got '%s'", err) + // } + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, loc), + // expected: "9:05:01 am EST", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, loc), + // expected: "8:05:01 pm EST", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeLong(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeMedium(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, time.UTC), + // expected: "9:05:01 am", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, time.UTC), + // expected: "8:05:01 pm", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeMedium(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtTimeShort(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 5, 1, 0, time.UTC), + // expected: "9:05 am", + // }, + // { + // t: time.Date(2016, 02, 03, 20, 5, 1, 0, time.UTC), + // expected: "8:05 pm", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtTimeShort(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateFull(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "Wednesday, February 3, 2016", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateFull(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateLong(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "February 3, 2016", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateLong(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateMedium(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "Feb 3, 2016", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateMedium(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtDateShort(t *testing.T) { + + tests := []struct { + t time.Time + expected string + }{ + // { + // t: time.Date(2016, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "2/3/16", + // }, + // { + // t: time.Date(-500, 02, 03, 9, 0, 1, 0, time.UTC), + // expected: "2/3/500", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtDateShort(tt.t) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtNumber(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + expected string + }{ + // { + // num: 1123456.5643, + // v: 2, + // expected: "1,123,456.56", + // }, + // { + // num: 1123456.5643, + // v: 1, + // expected: "1,123,456.6", + // }, + // { + // num: 221123456.5643, + // v: 3, + // expected: "221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // expected: "-221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // expected: "-221,123,456.564", + // }, + // { + // num: 0, + // v: 2, + // expected: "0.00", + // }, + // { + // num: -0, + // v: 2, + // expected: "0.00", + // }, + // { + // num: -0, + // v: 2, + // expected: "0.00", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtNumber(tt.num, tt.v) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtCurrency(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + currency currency.Type + expected string + }{ + // { + // num: 1123456.5643, + // v: 2, + // currency: currency.USD, + // expected: "$1,123,456.56", + // }, + // { + // num: 1123456.5643, + // v: 1, + // currency: currency.USD, + // expected: "$1,123,456.60", + // }, + // { + // num: 221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "$221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "-$221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.CAD, + // expected: "-CAD 221,123,456.564", + // }, + // { + // num: 0, + // v: 2, + // currency: currency.USD, + // expected: "$0.00", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.USD, + // expected: "$0.00", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.CAD, + // expected: "CAD 0.00", + // }, + // { + // num: 1.23, + // v: 0, + // currency: currency.USD, + // expected: "$1.00", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtCurrency(tt.num, tt.v, tt.currency) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtAccounting(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + currency currency.Type + expected string + }{ + // { + // num: 1123456.5643, + // v: 2, + // currency: currency.USD, + // expected: "$1,123,456.56", + // }, + // { + // num: 1123456.5643, + // v: 1, + // currency: currency.USD, + // expected: "$1,123,456.60", + // }, + // { + // num: 221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "$221,123,456.564", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.USD, + // expected: "($221,123,456.564)", + // }, + // { + // num: -221123456.5643, + // v: 3, + // currency: currency.CAD, + // expected: "(CAD 221,123,456.564)", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.USD, + // expected: "$0.00", + // }, + // { + // num: -0, + // v: 2, + // currency: currency.CAD, + // expected: "CAD 0.00", + // }, + // { + // num: 1.23, + // v: 0, + // currency: currency.USD, + // expected: "$1.00", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtAccounting(tt.num, tt.v, tt.currency) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} + +func TestFmtPercent(t *testing.T) { + + tests := []struct { + num float64 + v uint64 + expected string + }{ + // { + // num: 15, + // v: 0, + // expected: "15%", + // }, + // { + // num: 15, + // v: 2, + // expected: "15.00%", + // }, + // { + // num: 434.45, + // v: 0, + // expected: "434%", + // }, + // { + // num: 34.4, + // v: 2, + // expected: "34.40%", + // }, + // { + // num: -34, + // v: 0, + // expected: "-34%", + // }, + } + + trans := New() + + for _, tt := range tests { + s := trans.FmtPercent(tt.num, tt.v) + if s != tt.expected { + t.Errorf("Expected '%s' Got '%s'", tt.expected, s) + } + } +} |