public void TestPersonCollector() { var collector = new WriteSerializer(); new Person().Serialize(collector); Assert.AreEqual(collector.Properties.Count, 5); }
public void TestCompositeSerialization() { var collector = new WriteSerializer(); new Serializable2 { Serializable1 = new Serializable1 { Name = "John" } }.Serialize(collector); Assert.AreEqual(1, collector.Properties.Count); }
public void WriteField() { var serializer = new WriteSerializer(); serializer.Serialize(() => testField, null); var properties = serializer.Properties; Assert.AreEqual(1, properties.Count); Assert.AreEqual(nameof(testField), properties.Keys.First()); var propertyInfo = properties[properties.Keys.First()]; Assert.AreEqual(PropertyType.String, propertyInfo.PropertyType); Assert.AreEqual(nameof(testField), propertyInfo.Name); Assert.AreEqual(testField, propertyInfo.Value); }
public void WriteConstant() { var serializer = new WriteSerializer(); serializer.Serialize(() => TestConstant, null); var properties = serializer.Properties; Assert.AreEqual(1, properties.Count); Assert.AreEqual(SerializationConstants.ConstantName, properties.Keys.First()); var propertyInfo = properties[properties.Keys.First()]; Assert.AreEqual(PropertyType.String, propertyInfo.PropertyType); Assert.AreEqual(SerializationConstants.ConstantName, propertyInfo.Name); Assert.AreEqual(TestConstant, propertyInfo.Value); }
public void WriteSamePropertyTwiceThrowsException() { var serializer = new WriteSerializer(); serializer.Serialize(() => TestProperty, null); serializer.Serialize(() => TestProperty, null); }
private static void TestWriteRead(Action<WriteSerializer> write, Action<BinaryReader> read) { using (var ms = new MemoryStream()) { var writer = new BinaryWriter(ms); var writeSerializer = new WriteSerializer(); write(writeSerializer); ms.Seek(0, SeekOrigin.Begin); var reader = new BinaryReader(ms); read(reader); writer.Dispose(); reader.Dispose(); } }
public void WriteTwoStrings() { var serializer = new WriteSerializer(); serializer.Serialize(() => "Hello", null); serializer.Serialize(() => "World", null); var properties = serializer.Properties; Assert.AreEqual(2, properties.Count); Assert.IsTrue(properties.ContainsKey(SerializationConstants.ConstantName)); Assert.IsTrue(properties.ContainsKey(SerializationConstants.ConstantName + "1")); }
public void WriteString() { const string helloWorld = "Hello world"; var serializer = new WriteSerializer(); serializer.Serialize(() => helloWorld, null); var properties = serializer.Properties; Assert.AreEqual(1, properties.Count); Assert.AreEqual(SerializationConstants.ConstantName, properties.Keys.First()); var propertyInfo = properties[properties.Keys.First()]; Assert.AreEqual(PropertyType.String, propertyInfo.PropertyType); Assert.AreEqual(SerializationConstants.ConstantName, propertyInfo.Name); Assert.AreEqual(helloWorld, propertyInfo.Value); }
public void WriteExpression() { var serializer = new WriteSerializer(); serializer.Serialize(() => string.Empty + "Expression", null); var properties = serializer.Properties; Assert.AreEqual(1, properties.Count); Assert.AreEqual(SerializationConstants.DynamicName, properties.Keys.First()); var propertyInfo = properties[properties.Keys.First()]; Assert.AreEqual(PropertyType.String, propertyInfo.PropertyType); Assert.AreEqual(SerializationConstants.DynamicName, propertyInfo.Name); Assert.AreEqual(string.Empty + "Expression", propertyInfo.Value); }