value_test.gno

3.49 Kb ยท 113 lines
  1package expect_test
  2
  3import (
  4	"std"
  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, true).ToEqual(true)
 17		expect.Value(t, float32(1)).ToEqual(float32(1))
 18		expect.Value(t, float64(1)).ToEqual(float64(1))
 19		expect.Value(t, uint(1)).ToEqual(uint(1))
 20		expect.Value(t, uint8(1)).ToEqual(uint8(1))
 21		expect.Value(t, uint16(1)).ToEqual(uint16(1))
 22		expect.Value(t, uint32(1)).ToEqual(uint32(1))
 23		expect.Value(t, uint64(1)).ToEqual(uint64(1))
 24		expect.Value(t, int(1)).ToEqual(int(1))
 25		expect.Value(t, int8(1)).ToEqual(int8(1))
 26		expect.Value(t, int16(1)).ToEqual(int16(1))
 27		expect.Value(t, int32(1)).ToEqual(int32(1))
 28		expect.Value(t, int64(1)).ToEqual(int64(1))
 29	})
 30
 31	t.Run("not to equal", func(t *testing.T) {
 32		t.Parallel()
 33
 34		expect.Value(t, "foo").Not().ToEqual("bar")
 35		expect.Value(t, []byte("foo")).Not().ToEqual([]byte("bar"))
 36		expect.Value(t, true).Not().ToEqual(false)
 37		expect.Value(t, float32(1)).Not().ToEqual(float32(2))
 38		expect.Value(t, float64(1)).Not().ToEqual(float64(2))
 39		expect.Value(t, uint(1)).Not().ToEqual(uint(2))
 40		expect.Value(t, uint8(1)).Not().ToEqual(uint8(2))
 41		expect.Value(t, uint16(1)).Not().ToEqual(uint16(2))
 42		expect.Value(t, uint32(1)).Not().ToEqual(uint32(2))
 43		expect.Value(t, uint64(1)).Not().ToEqual(uint64(2))
 44		expect.Value(t, int(1)).Not().ToEqual(int(2))
 45		expect.Value(t, int8(1)).Not().ToEqual(int8(2))
 46		expect.Value(t, int16(1)).Not().ToEqual(int16(2))
 47		expect.Value(t, int32(1)).Not().ToEqual(int32(2))
 48		expect.Value(t, int64(1)).Not().ToEqual(int64(2))
 49	})
 50
 51	t.Run("to be nil", func(t *testing.T) {
 52		t.Parallel()
 53		expect.Value(t, nil).ToBeNil()
 54	})
 55
 56	t.Run("not to be nil", func(t *testing.T) {
 57		t.Parallel()
 58		expect.Value(t, "").Not().ToBeNil()
 59	})
 60
 61	t.Run("to be truthy", func(t *testing.T) {
 62		t.Parallel()
 63
 64		expect.Value(t, "true").AsBoolean().ToBeTruthy()
 65		expect.Value(t, "TRUE").AsBoolean().ToBeTruthy()
 66		expect.Value(t, "t").AsBoolean().ToBeTruthy()
 67		expect.Value(t, "1").AsBoolean().ToBeTruthy()
 68		expect.Value(t, []byte("foo")).AsBoolean().ToBeTruthy()
 69	})
 70
 71	t.Run("not to be truthy", func(t *testing.T) {
 72		t.Parallel()
 73
 74		expect.Value(t, "false").AsBoolean().Not().ToBeTruthy()
 75		expect.Value(t, "FALSE").AsBoolean().Not().ToBeTruthy()
 76		expect.Value(t, "f").AsBoolean().Not().ToBeTruthy()
 77		expect.Value(t, "0").AsBoolean().Not().ToBeTruthy()
 78		expect.Value(t, []byte(nil)).AsBoolean().Not().ToBeTruthy()
 79	})
 80
 81	t.Run("to be falsy", func(t *testing.T) {
 82		t.Parallel()
 83
 84		expect.Value(t, "false").AsBoolean().ToBeFalsy()
 85		expect.Value(t, "FALSE").AsBoolean().ToBeFalsy()
 86		expect.Value(t, "f").AsBoolean().ToBeFalsy()
 87		expect.Value(t, "0").AsBoolean().ToBeFalsy()
 88		expect.Value(t, "").AsBoolean().ToBeFalsy()
 89		expect.Value(t, []byte(nil)).AsBoolean().ToBeFalsy()
 90	})
 91
 92	t.Run("not to be falsy", func(t *testing.T) {
 93		t.Parallel()
 94
 95		expect.Value(t, "true").AsBoolean().Not().ToBeFalsy()
 96		expect.Value(t, "TRUE").AsBoolean().Not().ToBeFalsy()
 97		expect.Value(t, "t").AsBoolean().Not().ToBeFalsy()
 98		expect.Value(t, "1").AsBoolean().Not().ToBeFalsy()
 99		expect.Value(t, []byte("foo")).AsBoolean().Not().ToBeFalsy()
100	})
101
102	t.Run("to equal stringer", func(t *testing.T) {
103		t.Parallel()
104
105		expect.Value(t, std.Address("foo")).AsString().ToEqual("foo")
106	})
107
108	t.Run("not to equal stringer", func(t *testing.T) {
109		t.Parallel()
110
111		expect.Value(t, std.Address("foo")).AsString().Not().ToEqual("bar")
112	})
113}