public void ByteArray_SerializePersonA() { AddressA addressA = new AddressA(@"CornerStreet", @"00501", @"New york"); PersonA personA = new PersonA(@"Bob", @"Bones", addressA); byte[] data = SerializationHelper.SerializeToBytes(personA); Assert.IsNotNull(data); Assert.IsTrue(data.Length > 0); PersonA deserializedPersonA = SerializationHelper.DeserializeFromBytes<PersonA>(data); Assert.AreEqual(personA, deserializedPersonA); }
public void XmlSerialization_SerializePersonA() { AddressA addressA = new AddressA(@"CornerStreet", @"00501", @"New york"); PersonA personA = new PersonA(@"Bob", @"Bones", addressA); string xmlData = SerializationHelper.SerializeToXmlString(personA); Assert.IsNotNull(xmlData); Assert.IsTrue(xmlData.Length > 0); PersonA deserializedPersonA = SerializationHelper.DeserializeFromXmlString<PersonA>(xmlData); Assert.AreEqual(personA, deserializedPersonA); }
public override int GetHashCode() { var hash = Type.GetHashCode(); hash ^= AddressA?.GetHashCode() ?? 0; hash ^= AddressB?.GetHashCode() ?? 0; hash ^= PortA; hash ^= PortB << 16; return(hash); }
public void XmlSerialization_SerializePersonAUsingAnInterface() { IAddress address = new AddressA(@"CornerStreet", @"00501", @"New york"); IPerson person = new PersonA(@"Bob", @"Bones", address); string xmlData = SerializationHelper.SerializeToXmlString(person); Assert.IsNotNull(xmlData); Assert.IsTrue(xmlData.Length > 0); IPerson deserializedPerson = SerializationHelper.DeserializeFromXmlString<IPerson>(xmlData); Assert.AreEqual(person, deserializedPerson); Assert.IsInstanceOf<PersonA>(person); }
public void ByteArray_SerializePersonAUsingAnInterface() { IAddress address = new AddressA(@"CornerStreet", @"00501", @"New york"); IPerson person = new PersonA(@"Bob", @"Bones", address); byte[] data = SerializationHelper.SerializeToBytes(person); Assert.IsNotNull(data); Assert.IsTrue(data.Length > 0); IPerson deserializedPerson = SerializationHelper.DeserializeFromBytes<IPerson>(data); Assert.AreEqual(person, deserializedPerson); Assert.IsInstanceOf<PersonA>(person); }
public override bool Equals(object obj) { if (obj == this) { return(true); } var o = obj as TcpTuple; if (o == null) { return(false); } return (Type == o.Type && AddressA.Equals(o.AddressA) && AddressB.Equals(o.AddressB) && PortA == o.PortA && PortB == o.PortB); }
public void Stream_SerializePersonBUsingAnInterface() { IAddress address = new AddressA(@"CornerStreet", @"00501", @"New york"); IPerson partner = new PersonA(@"Kate", @"Moss", address); IPerson person = new PersonB(@"Bob", @"Bones", address, partner); using (Stream stream = new MemoryStream()) { SerializationHelper.Serialize(stream, person); Assert.IsTrue(stream.Length > 0); stream.Position = 0; IPerson deserializedPerson = SerializationHelper.Deserialize<IPerson>(stream); Assert.AreEqual(person, deserializedPerson); Assert.IsInstanceOf<PersonA>(person); } }
public void Stream_SerializePersonB() { AddressA addressA = new AddressA(@"CornerStreet", @"00501", @"New york"); PersonA partner = new PersonA(@"Kate", @"Moss", addressA); PersonA personB = new PersonB(@"Bob", @"Bones", addressA, partner); using (Stream stream = new MemoryStream()) { SerializationHelper.Serialize(stream, personB); Assert.IsTrue(stream.Length > 0); stream.Position = 0; PersonA deserializedPersonB = SerializationHelper.Deserialize<PersonA>(stream); Assert.AreEqual(personB, deserializedPersonB); } }
public void CompressedByteArray_SerializePersonB() { AddressA addressA = new AddressA(@"CornerStreet", @"00501", @"New york"); PersonA partner = new PersonA(@"Kate", @"Moss", addressA); PersonA personB = new PersonB(@"Bob", @"Bones", addressA, partner); byte[] data = SerializationHelper.SerializeToBytes(personB, true); Assert.IsNotNull(data); Assert.IsTrue(data.Length > 0); PersonB deserializedPersonB = SerializationHelper.DeserializeFromBytes<PersonB>(data, true); Assert.AreEqual(personB, deserializedPersonB); }
public void CompressedStream_SerializePersonA() { AddressA addressA = new AddressA(@"CornerStreet", @"00501", @"New york"); PersonA personA = new PersonA(@"Bob", @"Bones", addressA); byte[] memory; using (MemoryStream stream = new MemoryStream()) { // compressing stream only forced to flush when the stream is closed using (Stream compressed = Compression.CompressingStream(stream)) { SerializationHelper.Serialize(compressed, personA); Assert.IsTrue(stream.Length > 0); } // copy only after the compressing stream has been closed memory = stream.ToArray(); } PersonA deserializedPersonA; using (Stream stream = new MemoryStream(memory)) using (Stream decompressed = Compression.DecompressingStream(stream)) { deserializedPersonA = SerializationHelper.Deserialize<PersonA>(decompressed); } Assert.AreEqual(personA, deserializedPersonA); }
public void CompressedStream_SerializePersonA() { AddressA addressA = new AddressA(@"CornerStreet", @"00501", @"New york"); PersonA personA = new PersonA(@"Bob", @"Bones", addressA); byte[] memory; using (MemoryStream stream = new MemoryStream()) using (Stream compressed = Compression.CompressingStream(stream)) { SerializationHelper.Serialize(compressed, personA); Assert.IsTrue(stream.Length > 0); memory = stream.GetBuffer(); } PersonA deserializedPersonA; using (Stream stream = new MemoryStream(memory)) using (Stream decompressed = Compression.DecompressingStream(stream)) { deserializedPersonA = SerializationHelper.Deserialize<PersonA>(decompressed); } Assert.AreEqual(personA, deserializedPersonA); }
public void CompressedByteArray_SerializePersonBUsingAnInterface() { IAddress address = new AddressA(@"CornerStreet", @"00501", @"New york"); IPerson partner = new PersonA(@"Kate", @"Moss", address); IPerson person = new PersonB(@"Bob", @"Bones", address, partner); byte[] data = SerializationHelper.SerializeToBytes(person, true); Assert.IsNotNull(data); Assert.IsTrue(data.Length > 0); IPerson deserializedPerson = SerializationHelper.DeserializeFromBytes<IPerson>(data, true); Assert.AreEqual(person, deserializedPerson); Assert.IsInstanceOfType(person, typeof(PersonB)); }