package lulu import ( "testing" "github.com/stretchr/testify/require" ) func TestMarshalCoverDimensionsReq(t *testing.T) { t.Parallel() requireMarshalJsonEq(t, `{ "pod_package_id": "0600X0900.BW.STD.PB.060UW444.MXX", "interior_page_count": 210, "unit": "pt"}`, coverDimensionsReq{ PkgId{ UsTrade, Mono, Standard, Perfect, P60UncoatedWhite, Matte, NoLinen, NoFoil}, 210, Points}) } func TestUnmarshalCoverDimensions(t *testing.T) { t.Parallel() requireUnmarshalJsonEq(t, CoverDimensions{123.4, 567.8, Points}, `{"width": "123.400", "height": "567.800", "unit": "pt"}`) requireUnmarshalJsonEq(t, CoverDimensions{123.4, 567.8, Millimeters}, `{"width": "123.400", "height": "567.800", "unit": "mm"}`) requireUnmarshalJsonEq(t, CoverDimensions{123.4, 567.8, Inches}, `{"width": "123.400", "height": "567.800", "unit": "inch"}`) } func TestCoverDimensions(t *testing.T) { c := newClient(t) mfg := PkgId{ UsTrade, Mono, Standard, Perfect, P60UncoatedWhite, Matte, NoLinen, NoFoil, } dims, err := c.CoverDimensions(mfg, 210, Points) require.NoError(t, err) require.Equal(t, CoverDimensions{920, 666, Points}, dims) }