예제 #1
0
 /// <summary>
 /// Creates a new account data container class instance
 /// </summary>
 public Account(BinaryReader binaryReader)
 {
     ID               = binaryReader.ReadInt64();
     IsBlocked        = binaryReader.ReadBoolean();
     Level            = binaryReader.ReadByte();
     Name             = new Username(binaryReader);
     Passhash         = new Passhash(binaryReader);
     EmailAddress     = new EmailAddress(binaryReader);
     AccessToken      = new Token(binaryReader);
     LastUseIpAddress = IPAddressExtension.FromBytes(binaryReader);
 }
        public void ByteConsversion(IPAddress value)
        {
            var bytes    = new byte[IPAddressExtension.ByteSize];
            var newValue = value;

            using (var memoryStream = new MemoryStream(bytes))
            {
                using (var binaryWriter = new BinaryWriter(memoryStream))
                {
                    value.ToBytes(binaryWriter);
                    Assert.AreEqual(IPAddressExtension.ByteSize, memoryStream.Position);

                    binaryWriter.Seek(0, SeekOrigin.Begin);

                    using (var binaryReader = new BinaryReader(memoryStream))
                    {
                        newValue = IPAddressExtension.FromBytes(binaryReader);
                        Assert.AreEqual(IPAddressExtension.ByteSize, memoryStream.Position);
                    }
                }
            }

            Assert.AreEqual(value, newValue);
        }