From ba2314db4a0bb1e550067f20880456722be91d4e Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Thu, 3 Jul 2025 19:46:23 +0200 Subject: [PATCH] Added types tests --- src/types/Parse_test.go | 1 + src/types/Struct_test.go | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 src/types/Struct_test.go diff --git a/src/types/Parse_test.go b/src/types/Parse_test.go index 59f4943..4ac8588 100644 --- a/src/types/Parse_test.go +++ b/src/types/Parse_test.go @@ -28,6 +28,7 @@ func TestParse(t *testing.T) { {"float", types.Float}, {"float64", types.Float64}, {"float32", types.Float32}, + {"string", types.String}, {"any", types.Any}, {"*any", types.AnyPointer}, {"*byte", &types.Pointer{To: types.Byte}}, diff --git a/src/types/Struct_test.go b/src/types/Struct_test.go new file mode 100644 index 0000000..9e927f8 --- /dev/null +++ b/src/types/Struct_test.go @@ -0,0 +1,35 @@ +package types_test + +import ( + "testing" + + "git.urbach.dev/cli/q/src/types" + "git.urbach.dev/go/assert" +) + +func TestStruct(t *testing.T) { + point := types.NewStruct("math", "Point") + + x := &types.Field{ + Name: "x", + Type: types.Int, + Index: 0, + Offset: 0, + } + + y := &types.Field{ + Name: "y", + Type: types.Int, + Index: 1, + Offset: 8, + } + + point.AddField(x) + point.AddField(y) + + assert.Equal(t, x.String(), "x") + assert.Equal(t, y.String(), "y") + assert.Equal(t, point.FieldByName("x"), x) + assert.Equal(t, point.FieldByName("y"), y) + assert.Nil(t, point.FieldByName("invalid")) +} \ No newline at end of file