about summary refs log tree commit diff
path: root/pkg/lang/vm/code/builder_test.go
blob: 29f1974cc0519b4b436923151ef8b61acd2f249f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package code_test

import (
	"jinx/pkg/lang/vm/code"
	"testing"

	"github.com/stretchr/testify/assert"
)

func TestMarker(t *testing.T) {
	builder := code.NewBuilder()

	builder.AppendInt(123)
	builder.AppendMarkerReference("hello world")

	builder.PutMarker("hello world")
	builder.AppendInt(123)

	result, err := builder.Build()
	assert.NoError(t, err)

	expectedBuilder := code.NewBuilder()
	expectedBuilder.AppendInt(123)
	expectedBuilder.AppendInt(16)
	expectedBuilder.AppendInt(123)

	expected, err := expectedBuilder.Build()
	assert.NoError(t, err)

	assert.Equal(t, expected.Code(), result.Code())
}