FixedPoint2SerializationTest.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using System.Reflection;
  2. using Content.Shared.FixedPoint;
  3. using Robust.Shared.Serialization.Manager.Attributes;
  4. using Robust.Shared.Serialization.Markdown.Mapping;
  5. using Robust.Shared.Serialization.Markdown.Value;
  6. using Robust.UnitTesting.Shared.Serialization;
  7. namespace Content.IntegrationTests.Tests.Chemistry
  8. {
  9. public sealed class FixedPoint2SerializationTest : SerializationTest
  10. {
  11. protected override Assembly[] Assemblies =>
  12. [
  13. typeof(FixedPoint2SerializationTest).Assembly
  14. ];
  15. [Test]
  16. public void DeserializeNullTest()
  17. {
  18. var node = ValueDataNode.Null();
  19. var unit = Serialization.Read<FixedPoint2?>(node);
  20. Assert.That(unit, Is.Null);
  21. }
  22. [Test]
  23. public void SerializeNullTest()
  24. {
  25. var node = Serialization.WriteValue<FixedPoint2?>(null);
  26. Assert.That(node.IsNull);
  27. }
  28. [Test]
  29. public void SerializeNullableValueTest()
  30. {
  31. var node = Serialization.WriteValue<FixedPoint2?>(FixedPoint2.New(2.5f));
  32. #pragma warning disable NUnit2045 // Interdependent assertions
  33. Assert.That(node is ValueDataNode);
  34. Assert.That(((ValueDataNode) node).Value, Is.EqualTo("2.5"));
  35. #pragma warning restore NUnit2045
  36. }
  37. [Test]
  38. public void DeserializeNullDefinitionTest()
  39. {
  40. var node = new MappingDataNode().Add("unit", ValueDataNode.Null());
  41. var definition = Serialization.Read<FixedPoint2TestDefinition>(node);
  42. Assert.That(definition.Unit, Is.Null);
  43. }
  44. }
  45. [DataDefinition]
  46. public sealed partial class FixedPoint2TestDefinition
  47. {
  48. [DataField] public FixedPoint2? Unit { get; set; } = FixedPoint2.New(5);
  49. }
  50. }