diff --git a/SabreTools.DatItems.Test/DatItemTests.cs b/SabreTools.DatItems.Test/DatItemTests.cs index efc0b703..5b652365 100644 --- a/SabreTools.DatItems.Test/DatItemTests.cs +++ b/SabreTools.DatItems.Test/DatItemTests.cs @@ -898,13 +898,31 @@ namespace SabreTools.DatItems.Test #region Clone - // TODO: Implement Clone tests + [Fact] + public void CloneTest() + { + DatItem item = new Sample(); + item.SetName("name"); + + object clone = item.Clone(); + Sample? actual = clone as Sample; + Assert.NotNull(actual); + Assert.Equal("name", actual.GetName()); + } #endregion #region GetInternalClone - // TODO: Implement GetInternalClone tests + [Fact] + public void GetInternalCloneTest() + { + DatItem item = new TestDatItem(); + item.SetName("name"); + + TestDatItemModel actual = item.GetInternalClone(); + Assert.Equal("name", actual[TestDatItemModel.NameKey]); + } #endregion } diff --git a/SabreTools.DatItems/DatItem.cs b/SabreTools.DatItems/DatItem.cs index 54b9b414..5dbcb64f 100644 --- a/SabreTools.DatItems/DatItem.cs +++ b/SabreTools.DatItems/DatItem.cs @@ -539,6 +539,10 @@ namespace SabreTools.DatItems /// Clone the DatItem /// /// Clone of the DatItem + /// + /// Throws an exception if there is a DatItem implementation + /// that is not a part of this library. + /// public override object Clone() { var concrete = Array.Find(Assembly.GetExecutingAssembly().GetTypes(),