@@ -50,6 +50,41 @@ func Test_convertGamePatch(t *testing.T) {
5050 },
5151 },
5252 },
53+ {
54+ name : "invalid size" ,
55+ args : args {patch : & MPatch {Disk : GameDiskDC2 , Name : "bad-size" , Codes : "7,0,0,0" }},
56+ wantErr : true ,
57+ },
58+ {
59+ name : "non-numeric size" ,
60+ args : args {patch : & MPatch {Disk : GameDiskDC2 , Name : "bad-size" , Codes : "abc,0,0,0" }},
61+ wantErr : true ,
62+ },
63+ {
64+ name : "invalid address" ,
65+ args : args {patch : & MPatch {Disk : GameDiskDC2 , Name : "bad-addr" , Codes : "8,zzzz,0,0" }},
66+ wantErr : true ,
67+ },
68+ {
69+ name : "invalid original value" ,
70+ args : args {patch : & MPatch {Disk : GameDiskDC2 , Name : "bad-orig" , Codes : "8,0,not_a_number,0" }},
71+ wantErr : true ,
72+ },
73+ {
74+ name : "invalid changed value" ,
75+ args : args {patch : & MPatch {Disk : GameDiskDC2 , Name : "bad-changed" , Codes : "8,0,0,not_a_number" }},
76+ wantErr : true ,
77+ },
78+ {
79+ name : "empty codes" ,
80+ args : args {patch : & MPatch {Disk : GameDiskDC2 , Name : "empty" , Codes : "" }},
81+ want : & proto.GamePatch {GameDisk : GameDiskDC2 , Name : "empty" },
82+ },
83+ {
84+ name : "comment only" ,
85+ args : args {patch : & MPatch {Disk : GameDiskDC2 , Name : "comment-only" , Codes : "# just a comment\n # another comment" }},
86+ want : & proto.GamePatch {GameDisk : GameDiskDC2 , Name : "comment-only" },
87+ },
5388 }
5489 for _ , tt := range tests {
5590 t .Run (tt .name , func (t * testing.T ) {
0 commit comments