public void EnumSize(ModelValueType baseType, int expectedSize) { // Arrange var model = new ClassModel("Dummy"); model.Properties.Add(new PropertyModel("Enum") { ElementType = "SomeEnum", ValueType = ModelValueType.Class, Attributes = new List <AttributeModel> { new AttributeModel("DataMember") } }); model.References = new List <CodeElementModel> { new EnumModel("SomeEnum") { BaseType = baseType } }; // Act var size = BinarySize.OfClass(model, new BinarySerializer()); // Assert Assert.AreEqual(expectedSize, size); }
/// <summary> /// Get the binary size of a given value type /// </summary> public static int OfType(ModelValueType type) { switch (type) { case ModelValueType.Boolean: case ModelValueType.Byte: return(1); case ModelValueType.Char: case ModelValueType.Int16: case ModelValueType.UInt16: return(2); case ModelValueType.Int32: case ModelValueType.UInt32: case ModelValueType.Single: return(4); case ModelValueType.Double: case ModelValueType.Int64: case ModelValueType.UInt64: return(8); case ModelValueType.String: case ModelValueType.Class: return(0); default: throw new ArgumentOutOfRangeException(); } }
public void ValueTypeSize(ModelValueType type, int expectedSize) { // Arrange var model = new ClassModel("Dummy"); model.Properties.Add(new PropertyModel("Property") { ValueType = type, ElementType = type.ToString("G"), Attributes = new List <AttributeModel> { new AttributeModel("DataMember") } }); // Act var size = BinarySize.OfClass(model, new BinarySerializer()); // Assert Assert.AreEqual(expectedSize, size); }