Search Apps Documentation Source Content File Folder Download Copy Actions Download

value_test.gno

4.13 Kb ยท 126 lines
  1package expect_test
  2
  3import (
  4	"errors"
  5	"testing"
  6
  7	"gno.land/p/jeronimoalbi/expect"
  8)
  9
 10func TestValue(t *testing.T) {
 11	t.Run("equal", func(t *testing.T) {
 12		t.Parallel()
 13
 14		expect.Value(t, "foo").ToEqual("foo")
 15		expect.Value(t, []byte("foo")).ToEqual([]byte("foo"))
 16		expect.Value(t, stringer("foo")).ToEqual(stringer("foo"))
 17		expect.Value(t, true).ToEqual(true)
 18		expect.Value(t, float32(1)).ToEqual(float32(1))
 19		expect.Value(t, float64(1)).ToEqual(float64(1))
 20		expect.Value(t, uint(1)).ToEqual(uint(1))
 21		expect.Value(t, uint8(1)).ToEqual(uint8(1))
 22		expect.Value(t, uint16(1)).ToEqual(uint16(1))
 23		expect.Value(t, uint32(1)).ToEqual(uint32(1))
 24		expect.Value(t, uint64(1)).ToEqual(uint64(1))
 25		expect.Value(t, int(1)).ToEqual(int(1))
 26		expect.Value(t, int8(1)).ToEqual(int8(1))
 27		expect.Value(t, int16(1)).ToEqual(int16(1))
 28		expect.Value(t, int32(1)).ToEqual(int32(1))
 29		expect.Value(t, int64(1)).ToEqual(int64(1))
 30		expect.Value(t, errors.New("foo")).ToEqual(errors.New("foo"))
 31		expect.Value(t, errors.New("foo bar")).ToContainErrorString("foo")
 32	})
 33
 34	t.Run("not to equal", func(t *testing.T) {
 35		t.Parallel()
 36
 37		expect.Value(t, "foo").Not().ToEqual("bar")
 38		expect.Value(t, []byte("foo")).Not().ToEqual([]byte("bar"))
 39		expect.Value(t, stringer("foo")).Not().ToEqual(stringer("bar"))
 40		expect.Value(t, true).Not().ToEqual(false)
 41		expect.Value(t, float32(1)).Not().ToEqual(float32(2))
 42		expect.Value(t, float64(1)).Not().ToEqual(float64(2))
 43		expect.Value(t, uint(1)).Not().ToEqual(uint(2))
 44		expect.Value(t, uint8(1)).Not().ToEqual(uint8(2))
 45		expect.Value(t, uint16(1)).Not().ToEqual(uint16(2))
 46		expect.Value(t, uint32(1)).Not().ToEqual(uint32(2))
 47		expect.Value(t, uint64(1)).Not().ToEqual(uint64(2))
 48		expect.Value(t, int(1)).Not().ToEqual(int(2))
 49		expect.Value(t, int8(1)).Not().ToEqual(int8(2))
 50		expect.Value(t, int16(1)).Not().ToEqual(int16(2))
 51		expect.Value(t, int32(1)).Not().ToEqual(int32(2))
 52		expect.Value(t, int64(1)).Not().ToEqual(int64(2))
 53		expect.Value(t, errors.New("foo")).Not().ToEqual(errors.New("bar"))
 54		expect.Value(t, errors.New("foo")).Not().ToContainErrorString("bar")
 55	})
 56
 57	t.Run("to be nil", func(t *testing.T) {
 58		t.Parallel()
 59		expect.Value(t, nil).ToBeNil()
 60		expect.Value(t, (*int)(nil)).ToBeNil() // typed nil
 61	})
 62
 63	t.Run("not to be nil", func(t *testing.T) {
 64		t.Parallel()
 65		expect.Value(t, "").Not().ToBeNil()
 66	})
 67
 68	t.Run("to be truthy", func(t *testing.T) {
 69		t.Parallel()
 70
 71		expect.Value(t, "true").AsBoolean().ToBeTruthy()
 72		expect.Value(t, "TRUE").AsBoolean().ToBeTruthy()
 73		expect.Value(t, "t").AsBoolean().ToBeTruthy()
 74		expect.Value(t, "1").AsBoolean().ToBeTruthy()
 75		expect.Value(t, []byte("true")).AsBoolean().ToBeTruthy()
 76	})
 77
 78	t.Run("not to be truthy", func(t *testing.T) {
 79		t.Parallel()
 80
 81		expect.Value(t, "").AsBoolean().Not().ToBeTruthy()
 82		expect.Value(t, "false").AsBoolean().Not().ToBeTruthy()
 83		expect.Value(t, "FALSE").AsBoolean().Not().ToBeTruthy()
 84		expect.Value(t, "f").AsBoolean().Not().ToBeTruthy()
 85		expect.Value(t, "0").AsBoolean().Not().ToBeTruthy()
 86		expect.Value(t, []byte(nil)).AsBoolean().Not().ToBeTruthy()
 87		expect.Value(t, []byte("false")).AsBoolean().Not().ToBeTruthy()
 88	})
 89
 90	t.Run("to be falsy", func(t *testing.T) {
 91		t.Parallel()
 92
 93		expect.Value(t, "false").AsBoolean().ToBeFalsy()
 94		expect.Value(t, "FALSE").AsBoolean().ToBeFalsy()
 95		expect.Value(t, "f").AsBoolean().ToBeFalsy()
 96		expect.Value(t, "0").AsBoolean().ToBeFalsy()
 97		expect.Value(t, "").AsBoolean().ToBeFalsy()
 98		expect.Value(t, []byte(nil)).AsBoolean().ToBeFalsy()
 99	})
100
101	t.Run("not to be falsy", func(t *testing.T) {
102		t.Parallel()
103
104		expect.Value(t, "true").AsBoolean().Not().ToBeFalsy()
105		expect.Value(t, "TRUE").AsBoolean().Not().ToBeFalsy()
106		expect.Value(t, "t").AsBoolean().Not().ToBeFalsy()
107		expect.Value(t, "1").AsBoolean().Not().ToBeFalsy()
108		expect.Value(t, []byte("true")).AsBoolean().Not().ToBeFalsy()
109	})
110
111	t.Run("to equal stringer", func(t *testing.T) {
112		t.Parallel()
113
114		expect.Value(t, address("foo")).AsString().ToEqual("foo")
115	})
116
117	t.Run("not to equal stringer", func(t *testing.T) {
118		t.Parallel()
119
120		expect.Value(t, address("foo")).AsString().Not().ToEqual("bar")
121	})
122}
123
124type stringer string
125
126func (s stringer) String() string { return string(s) }