Search Apps Documentation Source Content File Folder Download Copy

bf_test.gno

0.68 Kb ยท 32 lines
 1package bf
 2
 3import "testing"
 4
 5func TestExecuteBrainfuck(t *testing.T) {
 6	testCases := []struct {
 7		name     string
 8		code     string
 9		expected string
10	}{
11		{
12			name:     "hello",
13			code:     "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.",
14			expected: "Hello World",
15		},
16		{
17			name:     "increment",
18			code:     "+++++ +++++ [ > +++++ ++ < - ] > +++++ .",
19			expected: "K",
20		},
21		// Add more test cases as needed
22	}
23
24	for _, tc := range testCases {
25		t.Run(tc.name, func(t *testing.T) {
26			result := Execute(tc.code)
27			if result != tc.expected {
28				t.Errorf("Expected output: %s, but got: %s", tc.expected, result)
29			}
30		})
31	}
32}