From 2f5d2fa9616144959dfcb850166ff71dfb0f8a4f Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 9 Jan 2025 20:10:56 -0500 Subject: [PATCH] Add ContainsWritable tests --- SabreTools.DatFiles.Test/DatFileTests.cs | 30 +++++++++++++++++++++++- SabreTools.DatFiles/DatFile.cs | 10 ++++---- 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/SabreTools.DatFiles.Test/DatFileTests.cs b/SabreTools.DatFiles.Test/DatFileTests.cs index 6e8cbb5c..2b80c5b7 100644 --- a/SabreTools.DatFiles.Test/DatFileTests.cs +++ b/SabreTools.DatFiles.Test/DatFileTests.cs @@ -1514,7 +1514,35 @@ namespace SabreTools.DatFiles.Test #region ContainsWritable - // TODO: Write ContainsWritable tests + [Fact] + public void ContainsWritable_Empty_True() + { + List datItems = []; + DatFile datFile = new Formats.Logiqx(null, deprecated: false); + + bool actual = datFile.ContainsWritable(datItems); + Assert.True(actual); + } + + [Fact] + public void ContainsWritable_NoWritable_False() + { + List datItems = [new Blank()]; + DatFile datFile = new Formats.Logiqx(null, deprecated: false); + + bool actual = datFile.ContainsWritable(datItems); + Assert.False(actual); + } + + [Fact] + public void ContainsWritable_Writable_True() + { + List datItems = [new Rom()]; + DatFile datFile = new Formats.Logiqx(null, deprecated: false); + + bool actual = datFile.ContainsWritable(datItems); + Assert.True(actual); + } #endregion diff --git a/SabreTools.DatFiles/DatFile.cs b/SabreTools.DatFiles/DatFile.cs index 0387cfe3..697b84c1 100644 --- a/SabreTools.DatFiles/DatFile.cs +++ b/SabreTools.DatFiles/DatFile.cs @@ -431,15 +431,15 @@ namespace SabreTools.DatFiles protected internal virtual List? GetMissingRequiredFields(DatItem datItem) => null; /// - /// Get if a machine contains any writable items + /// Get if a list contains any writable items /// /// DatItems to check - /// True if the machine contains at least one writable item, false otherwise - /// Empty machines are kept with this + /// True if the list contains at least one writable item, false otherwise + /// Empty list are kept with this protected internal bool ContainsWritable(List datItems) { - // Empty machines are considered writable - if (datItems == null || datItems.Count == 0) + // Empty list are considered writable + if (datItems.Count == 0) return true; foreach (DatItem datItem in datItems)