BinarySerializationTests.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using System.IO;
  2. using System.Windows.Media;
  3. using PixiEditor.Models.DataHolders;
  4. using PixiEditor.Models.IO;
  5. using PixiEditor.Models.Layers;
  6. using Xunit;
  7. namespace PixiEditorTests.ModelsTests.IO
  8. {
  9. public class BinarySerializationTests
  10. {
  11. private const string Path = "bstests.file";
  12. [Fact]
  13. public void TestThatWriteToBinaryFileCreatesFile()
  14. {
  15. SerializableDocument doc = new SerializableDocument(new Document(10, 10));
  16. BinarySerialization.WriteToBinaryFile(Path, doc);
  17. Assert.True(File.Exists(Path));
  18. File.Delete(Path);
  19. }
  20. [Fact]
  21. public void TestThatReadFromBinaryFileReadsCorrectly()
  22. {
  23. Document document = new Document(10, 10);
  24. document.Layers.Add(new Layer("yeet"));
  25. document.Swatches.Add(Colors.Green);
  26. SerializableDocument doc = new SerializableDocument(document);
  27. BinarySerialization.WriteToBinaryFile(Path, doc);
  28. SerializableDocument file = BinarySerialization.ReadFromBinaryFile<SerializableDocument>(Path);
  29. Assert.Equal(doc.Layers, file.Layers);
  30. Assert.Equal(doc.Height, file.Height);
  31. Assert.Equal(doc.Width, file.Width);
  32. Assert.Equal(doc.Swatches, file.Swatches);
  33. }
  34. }
  35. }