public void TestByte() { IPofReader pofReader = initPofReader("Byte"); Assert.AreEqual(1, pofReader.ReadByte(0)); Assert.AreEqual(0, pofReader.ReadByte(0)); Assert.AreEqual(200, pofReader.ReadByte(0)); Assert.AreEqual(255, pofReader.ReadByte(0)); }
/// <summary> /// Restore the contents of a user type instance by reading its state /// using the specified <see cref="IPofReader"/> object. /// </summary> /// <param name="reader"> /// The <b>IPofReader</b> from which to read the object's state. /// </param> /// <exception cref="IOException"> /// If an I/O error occurs. /// </exception> public virtual void ReadExternal(IPofReader reader) { if (m_value != null || m_isAttribute || !m_isMutable) { throw new Exception("deserialization not active"); } switch (reader.ReadByte(0)) { case 0: break; case (byte)XmlValueType.Boolean: m_value = reader.ReadBoolean(1); break; case (byte)XmlValueType.Integer: m_value = reader.ReadInt32(1); break; case (byte)XmlValueType.Long: m_value = reader.ReadInt64(1); break; case (byte)XmlValueType.Double: m_value = reader.ReadDouble(1); break; case (byte)XmlValueType.Decimal: m_value = reader.ReadDecimal(1); break; case (byte)XmlValueType.String: m_value = reader.ReadString(1); break; case (byte)XmlValueType.Binary: m_value = reader.ReadBinary(1); break; case (byte)XmlValueType.DateTime: m_value = reader.ReadDateTime(1); break; default: throw new IOException(); } m_isAttribute = reader.ReadBoolean(2); m_isMutable = reader.ReadBoolean(3); }