Add equivalence test for matrix and DA representations
diff --git a/matrix_test.go b/matrix_test.go
index b40fb84..b3af1a7 100644
--- a/matrix_test.go
+++ b/matrix_test.go
@@ -10,6 +10,16 @@
 	"github.com/stretchr/testify/assert"
 )
 
+var s string = `Der Vorsitzende der Abk. hat gewählt. Gefunden auf wikipedia.org. Ich bin unter korap@ids-mannheim.de erreichbar.
+Unsere Website ist https://korap.ids-mannheim.de/?q=Baum. Unser Server ist 10.0.10.51. Zu 50.4% ist es sicher.
+Der Termin ist am 5.9.2018.
+Ich habe die readme.txt heruntergeladen.
+Ausschalten!!! Hast Du nicht gehört???
+Ich wohne in der Weststr. und Du? Kupietz und Schmidt [2018]: Korpuslinguistik. Dieses verf***** Kleid! Ich habe die readme.txt heruntergeladen.
+Er sagte: \"Es geht mir gut!\", daraufhin ging er. "Das ist von C&A!" Früher bzw. später ... Sie erreichte den 1. Platz!
+Archive:  Ich bin kein zip. D'dorf Ku'damm Lu'hafen M'gladbach W'schaft.
+Mach's macht's was'n ist's haste willste kannste biste kriegste.`
+
 func TestFullTokenizerMatrix(t *testing.T) {
 	assert := assert.New(t)
 	foma := LoadFomaFile("testdata/simpletok.fst")
@@ -819,19 +829,37 @@
 	assert.Equal(10, len(tokens))
 }
 
+func TestMatokDatokEquivalence(t *testing.T) {
+	assert := assert.New(t)
+
+	mat := LoadMatrixFile("testdata/tokenizer.matok")
+	dat := LoadDatokFile("testdata/tokenizer.datok")
+
+	r := strings.NewReader(s)
+
+	tb := make([]byte, 0, 2048)
+	w := bytes.NewBuffer(tb)
+
+	// Transduce with double array representation
+	dat.Transduce(r, w)
+
+	datStr := w.String()
+
+	r.Reset(s)
+	w.Reset()
+
+	// Transduce with matrix representation
+	mat.Transduce(r, w)
+
+	matStr := w.String()
+
+	assert.Equal(datStr, matStr)
+}
+
 func BenchmarkTransduceMatrix(b *testing.B) {
 	bu := make([]byte, 0, 2048)
 	w := bytes.NewBuffer(bu)
 
-	s := `Der Vorsitzende der Abk. hat gewählt. Gefunden auf wikipedia.org. Ich bin unter korap@ids-mannheim.de erreichbar.
-	Unsere Website ist https://korap.ids-mannheim.de/?q=Baum. Unser Server ist 10.0.10.51. Zu 50.4% ist es sicher.
-	Der Termin ist am 5.9.2018.
-	Ich habe die readme.txt heruntergeladen.
-	Ausschalten!!! Hast Du nicht gehört???
-	Ich wohne in der Weststr. und Du? Kupietz und Schmidt [2018]: Korpuslinguistik. Dieses verf***** Kleid! Ich habe die readme.txt heruntergeladen.
-	Er sagte: \"Es geht mir gut!\", daraufhin ging er. "Das ist von C&A!" Früher bzw. später ... Sie erreichte den 1. Platz!
-	Archive:  Ich bin kein zip. D'dorf Ku'damm Lu'hafen M'gladbach W'schaft.
-	Mach's macht's was'n ist's haste willste kannste biste kriegste.`
 	r := strings.NewReader(s)
 
 	mat := LoadMatrixFile("testdata/tokenizer.matok")