+ "generated tapestart header looks OK");
+
+$hdr1 = Amanda::Header->from_string($string1);
+$hdr2 = Amanda::Header->from_string($string2);
+$hdr3 = Amanda::Header->from_string($string3);
+
+is($hdr1->{'type'}, $Amanda::Header::F_DUMPFILE, "'type' for hdr1");
+is($hdr1->{'datestamp'}, '20090102030405', "'datestamp' for hdr1");
+is($hdr1->{'dumplevel'}, 6, "'dumplevel' for hdr1");
+is($hdr1->{'compressed'}, 1, "'compressed' for hdr1");
+is($hdr1->{'encrypted'}, 1, "'encrypted' for hdr1");
+is($hdr1->{'comp_suffix'}, '.TEENSY', "'comp_suffix' for hdr1");
+is($hdr1->{'encrypt_suffix'}, 'E', "'encrypt_suffix' for hdr1");
+is($hdr1->{'name'}, 'schlitz', "'name' for hdr1");
+is($hdr1->{'disk'}, '/pbr', "'disk' for hdr1");
+is($hdr1->{'program'}, 'GNUTAR', "'program' for hdr1");
+is($hdr1->{'application'}, 'amnot', "'application' for hdr1");
+is($hdr1->{'srvcompprog'}, 'scp', "'srvcompprog' for hdr1");
+is($hdr1->{'srv_encrypt'}, 'se', "'srv_encrypt' for hdr1");
+is($hdr1->{'recover_cmd'}, 'rec |', "'recover_cmd' for hdr1");
+is($hdr1->{'uncompress_cmd'}, 'unc |', "'uncompress_cmd' for hdr1");
+is($hdr1->{'decrypt_cmd'}, 'dec |', "'decrypt_cmd' for hdr1");
+is($hdr1->{'srv_decrypt_opt'}, '-dos', "'srv_decrypt_opt' for hdr1");
+is($hdr1->{'cont_filename'}, '/path/to/cont', "'cont_filename' for hdr1");
+is($hdr1->{'dle_str'}, "D\nL\nE", "'dle_str' for hdr0");
+is($hdr1->{'is_partial'}, 1, "'is_partial' for hdr1");
+# no partnum for F_DUMPFILE
+# no numparts for F_DUMPFILE
+is($hdr1->{'blocksize'}, 0, "'blocksize' for hdr1 (not re-read; defaults to 0)");
+is($hdr1->{'orig_size'}, 10240, "'orig_size' for hdr1");
+
+is($hdr2->{'type'}, $Amanda::Header::F_SPLIT_DUMPFILE, "'type' for hdr2");
+is($hdr2->{'datestamp'}, '20090102030405', "'datestamp' for hdr2");
+is($hdr2->{'dumplevel'}, 6, "'dumplevel' for hdr2");
+is($hdr2->{'compressed'}, 1, "'compressed' for hdr2");
+is($hdr2->{'encrypted'}, 1, "'encrypted' for hdr2");
+is($hdr2->{'comp_suffix'}, '.TEENSY', "'comp_suffix' for hdr2");
+is($hdr2->{'encrypt_suffix'}, 'E', "'encrypt_suffix' for hdr2");
+is($hdr2->{'name'}, 'schlitz', "'name' for hdr2");
+is($hdr2->{'disk'}, '/pbr', "'disk' for hdr2");
+is($hdr2->{'program'}, 'GNUTAR', "'program' for hdr2");
+is($hdr2->{'application'}, 'amnot', "'application' for hdr2");
+is($hdr2->{'clntcompprog'}, 'ccp', "'clntcompprog' for hdr2");
+is($hdr2->{'clnt_encrypt'}, 'ce', "'clnt_encrypt' for hdr2");
+is($hdr2->{'recover_cmd'}, 'rec |', "'recover_cmd' for hdr2");
+is($hdr2->{'uncompress_cmd'}, 'unc |', "'uncompress_cmd' for hdr2");
+is($hdr2->{'decrypt_cmd'}, 'dec |', "'decrypt_cmd' for hdr2");
+is($hdr2->{'clnt_decrypt_opt'}, '-doc', "'clnt_decrypt_opt' for hdr2");
+is($hdr2->{'cont_filename'}, '/path/to/cont', "'cont_filename' for hdr2");
+is($hdr2->{'dle_str'}, "D\nL\nE", "'dle_str' for hdr0");
+is($hdr2->{'is_partial'}, 1, "'is_partial' for hdr2");
+is($hdr2->{'partnum'}, 13, "'partnum' for hdr2");
+is($hdr2->{'totalparts'}, 14, "'totalparts' for hdr2");
+is($hdr2->{'blocksize'}, 0, "'blocksize' for hdr2 (not re-read; defaults to 0)");
+is($hdr2->{'orig_size'}, 10240, "'orig_size' for hdr2");
+
+is($hdr3->{'type'}, $Amanda::Header::F_TAPESTART, "'type' for hdr3");
+is($hdr3->{'datestamp'}, "20090102030405", "'datestamp' for F_TAPESTART");
+is($hdr3->{'name'}, "TAPE17", "'name' for F_TAPESTART");
+
+# test out the other methods