Skip to content

Commit 5ae1624

Browse files
committed
Handle unexpected deserializer results
1 parent f828b57 commit 5ae1624

File tree

14 files changed

+61
-168
lines changed

14 files changed

+61
-168
lines changed

SabreTools.Serialization.Test/Deserializers/AttractModeTests.cs

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,7 @@ public void InvalidArray_Null()
3636
var deserializer = new Serialization.Deserializers.AttractMode();
3737

3838
var actual = deserializer.Deserialize(data, offset);
39-
40-
// TODO: Unexpected result
41-
// Turns into a single, malformatted header line
42-
Assert.NotNull(actual);
43-
Assert.NotNull(actual.Header);
44-
var col = Assert.Single(actual.Header);
45-
Assert.Equal(1024, col.Length);
46-
Assert.NotNull(actual.Row);
47-
Assert.Empty(actual.Row);
39+
Assert.Null(actual);
4840
}
4941

5042
[Fact]
@@ -74,15 +66,7 @@ public void InvalidStream_Null()
7466
var deserializer = new Serialization.Deserializers.AttractMode();
7567

7668
var actual = deserializer.Deserialize(data);
77-
78-
// TODO: Unexpected result
79-
// Turns into a single, malformatted header line
80-
Assert.NotNull(actual);
81-
Assert.NotNull(actual.Header);
82-
var col = Assert.Single(actual.Header);
83-
Assert.Equal(1024, col.Length);
84-
Assert.NotNull(actual.Row);
85-
Assert.Empty(actual.Row);
69+
Assert.Null(actual);
8670
}
8771
}
8872
}

SabreTools.Serialization.Test/Deserializers/ClrMameProTests.cs

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,7 @@ public void InvalidArray_Null()
3636
var deserializer = new Serialization.Deserializers.ClrMamePro();
3737

3838
var actual = deserializer.Deserialize(data, offset);
39-
40-
// TODO: Unexpected result
41-
// Turns into an empty model
42-
Assert.NotNull(actual);
43-
Assert.Equal(default, actual.ClrMamePro);
44-
Assert.NotNull(actual.Game);
45-
Assert.Empty(actual.Game);
39+
Assert.Null(actual);
4640
}
4741

4842
[Fact]
@@ -72,13 +66,7 @@ public void InvalidStream_Null()
7266
var deserializer = new Serialization.Deserializers.ClrMamePro();
7367

7468
var actual = deserializer.Deserialize(data);
75-
76-
// TODO: Unexpected result
77-
// Turns into an empty model
78-
Assert.NotNull(actual);
79-
Assert.Equal(default, actual.ClrMamePro);
80-
Assert.NotNull(actual.Game);
81-
Assert.Empty(actual.Game);
69+
Assert.Null(actual);
8270
}
8371
}
8472
}

SabreTools.Serialization.Test/Deserializers/DosCenterTests.cs

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,7 @@ public void InvalidArray_Null()
3636
var deserializer = new Serialization.Deserializers.DosCenter();
3737

3838
var actual = deserializer.Deserialize(data, offset);
39-
40-
// TODO: Unexpected result
41-
// Turns into an empty model
42-
Assert.NotNull(actual);
43-
Assert.Equal(default, actual.DosCenter);
44-
Assert.NotNull(actual.Game);
45-
Assert.Empty(actual.Game);
39+
Assert.Null(actual);
4640
}
4741

4842
[Fact]
@@ -72,13 +66,7 @@ public void InvalidStream_Null()
7266
var deserializer = new Serialization.Deserializers.DosCenter();
7367

7468
var actual = deserializer.Deserialize(data);
75-
76-
// TODO: Unexpected result
77-
// Turns into an empty model
78-
Assert.NotNull(actual);
79-
Assert.Equal(default, actual.DosCenter);
80-
Assert.NotNull(actual.Game);
81-
Assert.Empty(actual.Game);
69+
Assert.Null(actual);
8270
}
8371
}
8472
}

SabreTools.Serialization.Test/Deserializers/EverdriveSMDBTests.cs

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,7 @@ public void InvalidArray_Null()
3636
var deserializer = new Serialization.Deserializers.EverdriveSMDB();
3737

3838
var actual = deserializer.Deserialize(data, offset);
39-
40-
// TODO: Unexpected result
41-
// Turns into an empty model
42-
Assert.NotNull(actual);
43-
Assert.NotNull(actual.Row);
44-
Assert.Empty(actual.Row);
39+
Assert.Null(actual);
4540
}
4641

4742
[Fact]
@@ -71,12 +66,7 @@ public void InvalidStream_Null()
7166
var deserializer = new Serialization.Deserializers.EverdriveSMDB();
7267

7368
var actual = deserializer.Deserialize(data);
74-
75-
// TODO: Unexpected result
76-
// Turns into an empty model
77-
Assert.NotNull(actual);
78-
Assert.NotNull(actual.Row);
79-
Assert.Empty(actual.Row);
69+
Assert.Null(actual);
8070
}
8171
}
8272
}

SabreTools.Serialization.Test/Deserializers/ListromTests.cs

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,7 @@ public void InvalidArray_Null()
3636
var deserializer = new Serialization.Deserializers.Listrom();
3737

3838
var actual = deserializer.Deserialize(data, offset);
39-
40-
// TODO: Unexpected result
41-
// Turns into an empty model
42-
Assert.NotNull(actual);
43-
Assert.NotNull(actual.Set);
44-
Assert.Empty(actual.Set);
39+
Assert.Null(actual);
4540
}
4641

4742
[Fact]
@@ -71,12 +66,7 @@ public void InvalidStream_Null()
7166
var deserializer = new Serialization.Deserializers.Listrom();
7267

7368
var actual = deserializer.Deserialize(data);
74-
75-
// TODO: Unexpected result
76-
// Turns into an empty model
77-
Assert.NotNull(actual);
78-
Assert.NotNull(actual.Set);
79-
Assert.Empty(actual.Set);
69+
Assert.Null(actual);
8070
}
8171
}
8272
}

SabreTools.Serialization.Test/Deserializers/RomCenterTests.cs

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,7 @@ public void InvalidArray_Null()
3636
var deserializer = new Serialization.Deserializers.RomCenter();
3737

3838
var actual = deserializer.Deserialize(data, offset);
39-
40-
// TODO: Unexpected result
41-
// Turns into an empty model
42-
Assert.NotNull(actual);
43-
Assert.Null(actual.Credits);
44-
Assert.Null(actual.Dat);
45-
Assert.Null(actual.Emulator);
46-
Assert.Null(actual.Games);
39+
Assert.Null(actual);
4740
}
4841

4942
[Fact]
@@ -73,14 +66,7 @@ public void InvalidStream_Null()
7366
var deserializer = new Serialization.Deserializers.RomCenter();
7467

7568
var actual = deserializer.Deserialize(data);
76-
77-
// TODO: Unexpected result
78-
// Turns into an empty model
79-
Assert.NotNull(actual);
80-
Assert.Null(actual.Credits);
81-
Assert.Null(actual.Dat);
82-
Assert.Null(actual.Emulator);
83-
Assert.Null(actual.Games);
69+
Assert.Null(actual);
8470
}
8571
}
8672
}

SabreTools.Serialization.Test/Deserializers/SeparatedValueTests.cs

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,7 @@ public void InvalidArray_Null()
3636
var deserializer = new Serialization.Deserializers.SeparatedValue();
3737

3838
var actual = deserializer.Deserialize(data, offset);
39-
40-
// TODO: Unexpected result
41-
// Turns into a single, malformatted header line
42-
Assert.NotNull(actual);
43-
Assert.NotNull(actual.Header);
44-
var col = Assert.Single(actual.Header);
45-
Assert.Equal(1024, col.Length);
46-
Assert.NotNull(actual.Row);
47-
Assert.Empty(actual.Row);
39+
Assert.Null(actual);
4840
}
4941

5042
[Fact]
@@ -74,15 +66,7 @@ public void InvalidStream_Null()
7466
var deserializer = new Serialization.Deserializers.SeparatedValue();
7567

7668
var actual = deserializer.Deserialize(data);
77-
78-
// TODO: Unexpected result
79-
// Turns into a single, malformatted header line
80-
Assert.NotNull(actual);
81-
Assert.NotNull(actual.Header);
82-
var col = Assert.Single(actual.Header);
83-
Assert.Equal(1024, col.Length);
84-
Assert.NotNull(actual.Row);
85-
Assert.Empty(actual.Row);
69+
Assert.Null(actual);
8670
}
8771
}
8872
}

SabreTools.Serialization/Deserializers/AttractMode.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,13 @@ public class AttractMode : BaseBinaryDeserializer<MetadataFile>
111111
}
112112

113113
// Assign the rows to the Dat and return
114-
dat.Row = [.. rows];
115-
return dat;
114+
if (rows.Count > 0)
115+
{
116+
dat.Row = [.. rows];
117+
return dat;
118+
}
119+
120+
return null;
116121
}
117122

118123
#endregion

SabreTools.Serialization/Deserializers/ClrMamePro.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -381,8 +381,13 @@ public class ClrMamePro : BaseBinaryDeserializer<MetadataFile>
381381
}
382382

383383
// Add extra pieces and return
384-
dat.Game = [.. games];
385-
return dat;
384+
if (games.Count > 0)
385+
{
386+
dat.Game = [.. games];
387+
return dat;
388+
}
389+
390+
return null;
386391
}
387392

388393
/// <summary>

SabreTools.Serialization/Deserializers/DosCenter.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,13 @@ public class DosCenter : BaseBinaryDeserializer<MetadataFile>
142142
}
143143

144144
// Add extra pieces and return
145-
dat.Game = [.. games];
146-
return dat;
145+
if (games.Count > 0)
146+
{
147+
dat.Game = [.. games];
148+
return dat;
149+
}
150+
151+
return null;
147152
}
148153

149154
/// <summary>

0 commit comments

Comments
 (0)