using System; using System.Diagnostics.CodeAnalysis; using System.IO; using Microsoft.VisualStudio.TestTools.UnitTesting; using TweetLib.Core.Serialization; namespace TweetTest.Data{ [TestClass] public class TestFileSerializer : TestIO{ [SuppressMessage("ReSharper", "UnusedMember.Local")] private enum TestEnum{ A, B, C, D, E } private class SerializationTestBasic{ public bool TestBool { get; set; } public int TestInt { get; set; } public string TestStringBasic { get; set; } public string TestStringNewLine { get; set; } public string TestStringBackslash { get; set; } public string TestStringNull { get; set; } public TestEnum TestEnum { get; set; } } [TestMethod] public void TestBasicWriteRead(){ FileSerializer<SerializationTestBasic> serializer = new FileSerializer<SerializationTestBasic>(); SerializationTestBasic write = new SerializationTestBasic{ TestBool = true, TestInt = -100, TestStringBasic = "hello123", TestStringNewLine = "abc"+Environment.NewLine+"def"+Environment.NewLine, TestStringBackslash = @"C:\Test\\\Abc\", TestStringNull = null, TestEnum = TestEnum.D }; serializer.Write("basic_wr", write); Assert.IsTrue(File.Exists("basic_wr")); SerializationTestBasic read = new SerializationTestBasic(); serializer.Read("basic_wr", read); Assert.IsTrue(read.TestBool); Assert.AreEqual(-100, read.TestInt); Assert.AreEqual("hello123", read.TestStringBasic); Assert.AreEqual("abc"+Environment.NewLine+"def"+Environment.NewLine, read.TestStringNewLine); Assert.AreEqual(@"C:\Test\\\Abc\", read.TestStringBackslash); Assert.IsNull(read.TestStringNull); Assert.AreEqual(TestEnum.D, read.TestEnum); } // TODO more complex tests } }