diff --git a/SabreTools.DatFiles.Test/DatFileTests.cs b/SabreTools.DatFiles.Test/DatFileTests.cs
new file mode 100644
index 00000000..08e87470
--- /dev/null
+++ b/SabreTools.DatFiles.Test/DatFileTests.cs
@@ -0,0 +1,149 @@
+namespace SabreTools.DatFiles.Test
+{
+ public class DatFileTests
+ {
+ #region Constructor
+
+ // TODO: Write Constructor tests
+
+ #endregion
+
+ #region FillHeaderFromPath
+
+ // TODO: Write FillHeaderFromPath tests
+
+ #endregion
+
+ #region ResetDictionary
+
+ // TODO: Write ResetDictionary tests
+
+ #endregion
+
+ #region SetHeader
+
+ // TODO: Write SetHeader tests
+
+ #endregion
+
+ #region ExecuteFilters
+
+ // TODO: Write ExecuteFilters tests
+
+ #endregion
+
+ #region ParseFile
+
+ // TODO: Write ParseFile tests
+
+ #endregion
+
+ #region ParseAddHelper
+
+ // TODO: Write ParseAddHelper tests
+
+ #endregion
+
+ #region ParseAddHelperDB
+
+ // TODO: Write ParseAddHelperDB tests
+
+ #endregion
+
+ #region WriteToFile
+
+ // TODO: Write WriteToFile tests
+
+ #endregion
+
+ #region WriteToFileDB
+
+ // TODO: Write WriteToFileDB tests
+
+ #endregion
+
+ #region CreatePrefixPostfix
+
+ // TODO: Write CreatePrefixPostfix tests
+
+ #endregion
+
+ #region CreatePrefixPostfixDB
+
+ // TODO: Write CreatePrefixPostfixDB tests
+
+ #endregion
+
+ #region ProcessItemName
+
+ // TODO: Write ProcessItemName tests
+
+ #endregion
+
+ #region ProcessItemNameDB
+
+ // TODO: Write ProcessItemNameDB tests
+
+ #endregion
+
+ #region ProcessNullifiedItem
+
+ // TODO: Write ProcessNullifiedItem tests
+
+ #endregion
+
+ #region ProcessNullifiedItemDB
+
+ // TODO: Write ProcessNullifiedItemDB tests
+
+ #endregion
+
+ #region GetSupportedTypes
+
+ // TODO: Write GetSupportedTypes tests
+
+ #endregion
+
+ #region GetMissingRequiredFields
+
+ // TODO: Write GetMissingRequiredFields tests
+
+ #endregion
+
+ #region ContainsWritable
+
+ // TODO: Write ContainsWritable tests
+
+ #endregion
+
+ #region ContainsWritableDB
+
+ // TODO: Write ContainsWritableDB tests
+
+ #endregion
+
+ #region ResolveNames
+
+ // TODO: Write ResolveNames tests
+
+ #endregion
+
+ #region ResolveNamesDB
+
+ // TODO: Write ResolveNamesDB tests
+
+ #endregion
+
+ #region ShouldIgnore
+
+ // TODO: Write ShouldIgnore tests
+
+ #endregion
+
+ #region GetDuplicateSuffix
+
+ // TODO: Write GetDuplicateSuffix tests
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SabreTools.DatFiles.Test/SabreTools.DatFiles.Test.csproj b/SabreTools.DatFiles.Test/SabreTools.DatFiles.Test.csproj
new file mode 100644
index 00000000..4c0bb43d
--- /dev/null
+++ b/SabreTools.DatFiles.Test/SabreTools.DatFiles.Test.csproj
@@ -0,0 +1,30 @@
+
+
+
+ net6.0;net8.0;net9.0
+ false
+ latest
+ enable
+
+
+
+
+
+
+
+
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+
+
\ No newline at end of file
diff --git a/SabreTools.DatFiles/DatFile.cs b/SabreTools.DatFiles/DatFile.cs
index c12d335b..b2beac1c 100644
--- a/SabreTools.DatFiles/DatFile.cs
+++ b/SabreTools.DatFiles/DatFile.cs
@@ -61,7 +61,7 @@ namespace SabreTools.DatFiles
_logger = new Logger(this);
if (datFile != null)
{
- Header = datFile.Header;
+ Header = (DatHeader)datFile.Header.Clone();
Items = datFile.Items;
ItemsDB = datFile.ItemsDB;
}
@@ -124,7 +124,7 @@ namespace SabreTools.DatFiles
/// Replacement header to be used
public void SetHeader(DatHeader datHeader)
{
- Header = (DatHeader)datHeader.Clone();;
+ Header = (DatHeader)datHeader.Clone();
}
#endregion
@@ -680,6 +680,7 @@ namespace SabreTools.DatFiles
/// Get supported types for write
///
/// List of supported types for writing
+ /// TODO: Make this into a property instead of a method
protected virtual ItemType[] GetSupportedTypes()
{
return Enum.GetValues(typeof(ItemType)) as ItemType[] ?? [];
diff --git a/SabreTools.sln b/SabreTools.sln
index 2770c7b7..fd352795 100644
--- a/SabreTools.sln
+++ b/SabreTools.sln
@@ -34,6 +34,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.FileTypes.Test",
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.DatItems.Test", "SabreTools.DatItems.Test\SabreTools.DatItems.Test.csproj", "{5BB75FB7-D9D0-493D-AF31-A371882A44A4}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SabreTools.DatFiles.Test", "SabreTools.DatFiles.Test\SabreTools.DatFiles.Test.csproj", "{5492C6EA-02CD-4862-80A8-A4971EAEE8E3}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -138,6 +140,14 @@ Global
{5BB75FB7-D9D0-493D-AF31-A371882A44A4}.Release|Any CPU.Build.0 = Release|Any CPU
{5BB75FB7-D9D0-493D-AF31-A371882A44A4}.Release|x64.ActiveCfg = Release|Any CPU
{5BB75FB7-D9D0-493D-AF31-A371882A44A4}.Release|x64.Build.0 = Release|Any CPU
+ {5492C6EA-02CD-4862-80A8-A4971EAEE8E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5492C6EA-02CD-4862-80A8-A4971EAEE8E3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5492C6EA-02CD-4862-80A8-A4971EAEE8E3}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {5492C6EA-02CD-4862-80A8-A4971EAEE8E3}.Debug|x64.Build.0 = Debug|Any CPU
+ {5492C6EA-02CD-4862-80A8-A4971EAEE8E3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5492C6EA-02CD-4862-80A8-A4971EAEE8E3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5492C6EA-02CD-4862-80A8-A4971EAEE8E3}.Release|x64.ActiveCfg = Release|Any CPU
+ {5492C6EA-02CD-4862-80A8-A4971EAEE8E3}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE