GlyphTests.cs 880 B

123456789101112131415161718192021222324252627282930313233
  1. using System;
  2. using System.Buffers;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using System.Globalization;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Text.Json;
  9. using Xunit;
  10. namespace Terminal.Gui.DrawingTests;
  11. public class GlyphTests {
  12. [Fact]
  13. public void Default_GlyphDefinitions_Deserialize ()
  14. {
  15. var defs = new GlyphDefinitions ();
  16. // enumerate all properties in GlyphDefinitions
  17. foreach (var prop in typeof (GlyphDefinitions).GetProperties ()) {
  18. if (prop.PropertyType == typeof (Rune)) {
  19. // Act
  20. var rune = (Rune)prop.GetValue (defs);
  21. var json = JsonSerializer.Serialize (rune, ConfigurationManager._serializerOptions);
  22. var deserialized = JsonSerializer.Deserialize<Rune> (json, ConfigurationManager._serializerOptions);
  23. // Assert
  24. Assert.Equal (((Rune)prop.GetValue (defs)).Value, deserialized.Value);
  25. }
  26. }
  27. }
  28. }