diff --git a/SabreTools.Metadata.DatItems.Test/DatItemTests.cs b/SabreTools.Metadata.DatItems.Test/DatItemTests.cs index fc9a82f0..df6a9d72 100644 --- a/SabreTools.Metadata.DatItems.Test/DatItemTests.cs +++ b/SabreTools.Metadata.DatItems.Test/DatItemTests.cs @@ -1,4 +1,4 @@ -using SabreTools.Data.Extensions; +using System; using SabreTools.Metadata.DatItems.Formats; using Xunit; @@ -11,9 +11,12 @@ namespace SabreTools.Metadata.DatItems.Test /// /// Testing implementation of Data.Models.Metadata.DatItem /// - private class TestDatItemModel : Data.Models.Metadata.DatItem + private class TestDatItemModel : Data.Models.Metadata.DatItem, ICloneable { - public const string NameKey = "__NAME__"; + public string? Name { get; set; } + + /// + public object Clone() => new TestDatItemModel { Name = Name }; } /// @@ -21,13 +24,15 @@ namespace SabreTools.Metadata.DatItems.Test /// private class TestDatItem : DatItem { - private readonly string? _nameKey; - public override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Blank; - public TestDatItem() => _nameKey = TestDatItemModel.NameKey; + public string? Name + { + get => (_internal as Data.Models.Metadata.Info)?.Name; + set => (_internal as Data.Models.Metadata.Info)?.Name = value; + } - public TestDatItem(string? nameKey) => _nameKey = nameKey; + public TestDatItem() { } /// public override object Clone() => new TestDatItem() @@ -38,18 +43,14 @@ namespace SabreTools.Metadata.DatItems.Test /// public override TestDatItemModel GetInternalClone() { - return _internal.DeepClone() as TestDatItemModel ?? []; + return (_internal as TestDatItemModel)?.Clone() as TestDatItemModel ?? []; } /// - public override string? GetName() => _nameKey is not null ? _internal.ReadString(_nameKey) : null; + public override string? GetName() => Name; /// - public override void SetName(string? name) - { - if (_nameKey is not null) - _internal[_nameKey] = name; - } + public override void SetName(string? name) => Name = name; } #endregion @@ -432,84 +433,6 @@ namespace SabreTools.Metadata.DatItems.Test #endregion - #region GetName - - [Fact] - public void GetName_NoNameKey_Null() - { - DatItem item = new TestDatItem(nameKey: null); - item.Write(TestDatItemModel.NameKey, "name"); - - string? actual = item.GetName(); - Assert.Null(actual); - } - - [Fact] - public void GetName_EmptyNameKey_Null() - { - DatItem item = new TestDatItem(nameKey: string.Empty); - item.Write(TestDatItemModel.NameKey, "name"); - - string? actual = item.GetName(); - Assert.Null(actual); - } - - [Fact] - public void GetName_NameKeyNotExists_Null() - { - DatItem item = new TestDatItem(nameKey: "INVALID"); - item.Write(TestDatItemModel.NameKey, "name"); - - string? actual = item.GetName(); - Assert.Null(actual); - } - - [Fact] - public void GetName_NameKeyExists_Filled() - { - DatItem item = new TestDatItem(nameKey: TestDatItemModel.NameKey); - item.Write(TestDatItemModel.NameKey, "name"); - - string? actual = item.GetName(); - Assert.Equal("name", actual); - } - - #endregion - - #region SetName - - [Fact] - public void SetName_NoNameKey_Null() - { - DatItem item = new TestDatItem(nameKey: null); - item.SetName("name"); - - string? actual = item.GetName(); - Assert.Null(actual); - } - - [Fact] - public void SetName_EmptyNameKey_Null() - { - DatItem item = new TestDatItem(nameKey: string.Empty); - item.SetName("name"); - - string? actual = item.GetName(); - Assert.Null(actual); - } - - [Fact] - public void SetName_NameKeyNonEmpty_Filled() - { - DatItem item = new TestDatItem(nameKey: TestDatItemModel.NameKey); - item.SetName("name"); - - string? actual = item.GetName(); - Assert.Equal("name", actual); - } - - #endregion - #region Clone [Fact] @@ -534,7 +457,7 @@ namespace SabreTools.Metadata.DatItems.Test item.SetName("name"); TestDatItemModel actual = item.GetInternalClone(); - Assert.Equal("name", actual[TestDatItemModel.NameKey]); + Assert.Equal("name", actual.Name); } #endregion