+ t.Errorf("parsed %#v\nexpected: %s\ngot: %s\n", d, draftBody, s)
+ }
+}
+
+const certBody = `Content-Type: text/plain.epoint.cert; charset=utf-8
+
+Holder: 0000000000000000000000000000000000000009
+Serial: 13
+Date: 2011-11-01T10:29:38Z
+Balance: 23
+Denomination: half euro
+Issuer: 000000000000000000000000000000000000000B
+Authorized-By: 000000000000000000000000000000000000000A
+Last-Debit-Serial: 0
+Last-Credit-Serial: 12
+Last-Cert: 000000000000000000000000000000000000000C
+Difference: 1
+Draft: 000000000000000000000000000000000000000D
+Drawer: 000000000000000000000000000000000000000E
+Drawer-Cert: 000000000000000000000000000000000000000F
+Notes: -
+References: 000000000000000000000000000000000000000C 000000000000000000000000000000000000000F
+`
+
+func TestCert(t *testing.T) {
+ c, err := ParseCert([]byte(certBody))
+ if err != nil {
+ t.Errorf("ParseCert failed: %s\n", err)
+ return
+ }
+ s, err := FormatCert(c)
+ if err != nil {
+ t.Errorf("render %v cert failed: %s\n", c, err)
+ }
+ if string(s) != certBody {
+ t.Errorf("parsed %#v\nexpected: %s\ngot: %s\n", c, certBody, s)