[#168] accounting: Implement binary/JSON encoders/decoders on Decimal
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
52fae76533
commit
9bebc1247d
6 changed files with 139 additions and 25 deletions
|
@ -23,3 +23,29 @@ func TestDecimal_Precision(t *testing.T) {
|
|||
|
||||
require.Equal(t, p, d.Precision())
|
||||
}
|
||||
|
||||
func TestDecimalEncoding(t *testing.T) {
|
||||
d := NewDecimal()
|
||||
d.SetValue(1)
|
||||
d.SetPrecision(2)
|
||||
|
||||
t.Run("binary", func(t *testing.T) {
|
||||
data, err := d.Marshal()
|
||||
require.NoError(t, err)
|
||||
|
||||
d2 := NewDecimal()
|
||||
require.NoError(t, d2.Unmarshal(data))
|
||||
|
||||
require.Equal(t, d, d2)
|
||||
})
|
||||
|
||||
t.Run("json", func(t *testing.T) {
|
||||
data, err := d.MarshalJSON()
|
||||
require.NoError(t, err)
|
||||
|
||||
d2 := NewDecimal()
|
||||
require.NoError(t, d2.UnmarshalJSON(data))
|
||||
|
||||
require.Equal(t, d, d2)
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue