mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-09-01 17:47:24 +02:00
65 lines
1.8 KiB
C#
65 lines
1.8 KiB
C#
using NUnit.Framework;
|
|
using Robust.Shared.Serialization.Manager.Attributes;
|
|
using Robust.Shared.Serialization.Markdown.Mapping;
|
|
|
|
namespace Robust.UnitTesting.Shared.Serialization;
|
|
|
|
internal sealed partial class DataStructTest : OurSerializationTest
|
|
{
|
|
[DataDefinition]
|
|
public partial struct DefaultIntDataStruct
|
|
{
|
|
[DataField]
|
|
public int A = 5;
|
|
|
|
[DataField]
|
|
public int B;
|
|
|
|
public DefaultIntDataStruct()
|
|
{
|
|
B = 1;
|
|
}
|
|
}
|
|
|
|
[DataDefinition]
|
|
public partial struct DefaultIntDataStructNoConstructor
|
|
{
|
|
[DataField]
|
|
public int A = 5;
|
|
|
|
[DataField]
|
|
public int B;
|
|
}
|
|
|
|
[Test]
|
|
public void DefaultIntDataStructTest()
|
|
{
|
|
var mapping = new MappingDataNode();
|
|
var val = Serialization.Read<DefaultIntDataStruct>(mapping);
|
|
var val2 = Serialization.Read<DefaultIntDataStructNoConstructor>(mapping);
|
|
|
|
Assert.That(val.A, Is.EqualTo(5));
|
|
Assert.That(val.B, Is.EqualTo(1));
|
|
Assert.That(val2.A, Is.EqualTo(5));
|
|
Assert.That(val2.B, Is.EqualTo(0));
|
|
|
|
mapping = new MappingDataNode {{"a", "10"}};
|
|
val = Serialization.Read<DefaultIntDataStruct>(mapping);
|
|
val2 = Serialization.Read<DefaultIntDataStructNoConstructor>(mapping);
|
|
|
|
Assert.That(val.A, Is.EqualTo(10));
|
|
Assert.That(val.B, Is.EqualTo(1));
|
|
Assert.That(val2.A, Is.EqualTo(10));
|
|
Assert.That(val2.B, Is.EqualTo(0));
|
|
|
|
mapping = new MappingDataNode {{"b", "10"}};
|
|
val = Serialization.Read<DefaultIntDataStruct>(mapping);
|
|
val2 = Serialization.Read<DefaultIntDataStructNoConstructor>(mapping);
|
|
|
|
Assert.That(val.A, Is.EqualTo(5));
|
|
Assert.That(val.B, Is.EqualTo(10));
|
|
Assert.That(val2.A, Is.EqualTo(5));
|
|
Assert.That(val2.B, Is.EqualTo(10));
|
|
}
|
|
}
|