1// Copyright 2018 Keybase, Inc. All rights reserved. Use of
2// this source code is governed by the included BSD license.
3
4package libkb
5
6import (
7	"testing"
8
9	"github.com/stretchr/testify/require"
10)
11
12func TestStellarSimplifyAmount(t *testing.T) {
13	units := []struct {
14		a, b string
15	}{
16		{"", ""},
17		{"1", "1"},
18		{"100", "100"},
19		{"100.00", "100"},
20		{"100.0000001", "100.0000001"},
21		{"100.000000100", "100.0000001"},
22		{"0100.00", "0100"},
23		{".1", ".1"},
24		{".01", ".01"},
25		{".010", ".01"},
26		{"1.0010000", "1.001"},
27		{"1.0000000", "1"},
28		{"aaa", "aaa"},
29		{"1,231.0010000", "1,231.001"},
30		{"1,231.5000000", "1,231.50"},
31		{"1,231.0000000", "1,231.00"},
32		{"1,231", "1,231"},
33	}
34	for i, u := range units {
35		require.Equal(t, u.b, StellarSimplifyAmount(u.a), "units[%v]", i)
36	}
37}
38