field_test.go 1.3 KB
package domain

import (
	"github.com/stretchr/testify/assert"
	"testing"
)

func TestRoundFieldValue(t *testing.T) {
	floatFiled := &Field{
		SQLType: Float.ToString(),
	}
	inputs := []struct {
		v    string
		f    *Field
		want string
	}{
		{
			v:    "0.123599999999999",
			f:    floatFiled,
			want: "0.123599999999999",
		},
		{
			v:    "0.123600000000001",
			f:    floatFiled,
			want: "0.123600000000001",
		},
		{
			v:    "0.12359990000000",
			f:    floatFiled,
			want: "0.1235999",
		},
		{
			v:    "18749465132.256",
			f:    floatFiled,
			want: "18749465132.256",
		},
	}
	for _, input := range inputs {
		got := RoundFieldValue(input.f, input.v)
		assert.Equal(t, input.want, got)
	}
}

func TestRoundValue(t *testing.T) {
	floatFiled := &Field{
		SQLType: Float.ToString(),
	}
	inputs := []struct {
		v    string
		f    *Field
		want string
	}{
		{
			v:    "0.123599999999999",
			f:    floatFiled,
			want: "0.123599999999999",
		},
		{
			v:    "0.123600000000001",
			f:    floatFiled,
			want: "0.123600000000001",
		},
		{
			v:    "0.123599999999995",
			f:    floatFiled,
			want: "0.123599999999995",
		},
		{
			v:    "18749465132.256",
			f:    floatFiled,
			want: "18749465132.256",
		},
	}
	for _, input := range inputs {
		got := RoundValue(input.v)
		assert.Equal(t, input.want, got)
	}
}