mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Add Clone tests, add remark to Clone
This commit is contained in:
@@ -898,13 +898,31 @@ namespace SabreTools.DatItems.Test
|
|||||||
|
|
||||||
#region Clone
|
#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
|
#endregion
|
||||||
|
|
||||||
#region GetInternalClone
|
#region GetInternalClone
|
||||||
|
|
||||||
// TODO: Implement GetInternalClone tests
|
[Fact]
|
||||||
|
public void GetInternalCloneTest()
|
||||||
|
{
|
||||||
|
DatItem<TestDatItemModel> item = new TestDatItem();
|
||||||
|
item.SetName("name");
|
||||||
|
|
||||||
|
TestDatItemModel actual = item.GetInternalClone();
|
||||||
|
Assert.Equal("name", actual[TestDatItemModel.NameKey]);
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -539,6 +539,10 @@ namespace SabreTools.DatItems
|
|||||||
/// Clone the DatItem
|
/// Clone the DatItem
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>Clone of the DatItem</returns>
|
/// <returns>Clone of the DatItem</returns>
|
||||||
|
/// <remarks>
|
||||||
|
/// Throws an exception if there is a DatItem implementation
|
||||||
|
/// that is not a part of this library.
|
||||||
|
/// </remarks>
|
||||||
public override object Clone()
|
public override object Clone()
|
||||||
{
|
{
|
||||||
var concrete = Array.Find(Assembly.GetExecutingAssembly().GetTypes(),
|
var concrete = Array.Find(Assembly.GetExecutingAssembly().GetTypes(),
|
||||||
|
|||||||
Reference in New Issue
Block a user