INNER CODE UNIT · Go

TestChain_MarshalJSON

mb-14/gomarkov · gomarkov_test.go:9

func TestChain_MarshalJSON(t *testing.T) {
	tests := []struct {
		name    string
		order   int
		data    [][]string
		want    string
		wantErr bool
	}{
		{"Empty chain", 2, [][]string{}, `{"int":2,"spool_map":{},"freq_mat":{}}`, false},
		{"Empty chain, order 1", 1, [][]string{}, `{"int":1,"spool_map":{},"freq_mat":{}}`, false},
		{"Trained once", 1, [][]string{{"Test"}}, `{"int":1,"spool_map":{"$":2,"Test":1,"^":0},"freq_mat":{"0":{"1":1},"1":{"2":1}}}`, false},
		{"Trained on more data", 1, [][]string{{"test", "data"}, {"test", "data"}, {"test", "node"}}, `{"int":1,"spool_map":{"$":3,"^":0,"data":2,"node":4,"test":1},"freq_mat":{"0":{"1":3},"1":{"2":2,"4":1},"2":{"3":2},"4":{"3":1}}}`, false},
	}
	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			chain := NewChain(tt.order)
			for _, data := range tt.data {
				chain.Add(data)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…