public void Constructor_ValuesInitialized() { var uut = new Rerr(destinations); Assert.AreEqual(NumberOfDestinations, uut.DestinationCount); Assert.AreEqual(12 + NumberOfDestinations * 8, uut.Size); Assert.AreEqual(MessageType.Rerr, uut.Type); }
public void CopyConstructor_ValuesInitialized() { var rerr = new Rerr(destinations); var uut = new Rerr(rerr); Assert.AreEqual(rerr.Size, uut.Size); Assert.AreEqual(rerr.Type, uut.Type); Assert.AreEqual(rerr.N, uut.N); Assert.AreEqual(rerr.DestinationCount, uut.DestinationCount); for (int i = 0; i < rerr.DestinationCount; i++) { Assert.AreEqual(rerr.UnreachableDestinations[i].UnreachableDestinationAddress, uut.UnreachableDestinations[i].UnreachableDestinationAddress); Assert.AreEqual(rerr.UnreachableDestinations[i].UnreachableDestinationSequenceNumber, uut.UnreachableDestinations[i].UnreachableDestinationSequenceNumber); } }
public Message(Message msg) //Copy constructor { DestinationAddress = msg.DestinationAddress; PreviousHop = msg.PreviousHop; SourceAddress = msg.SourceAddress; Ttl = msg.Ttl; HopCount = msg.HopCount; switch (msg.Type) { case MessageType.Rreq: var rreq = (Rreq)msg.Payload; Payload = new Rreq(rreq); break; case MessageType.Rrep: var rrep = (Rrep)msg.Payload; Payload = new Rrep(rrep); break; case MessageType.Rerr: var rerr = (Rerr)msg.Payload; Payload = new Rerr(rerr); break; case MessageType.Rrepack: var rrepack = (Rrepack)msg.Payload; Payload = new Rrepack(rrepack); break; case MessageType.Data: var data = (DataMsg)msg.Payload; Payload = new DataMsg(data); break; case MessageType.Hello: var hello = (Hello)msg.Payload; Payload = new Hello(hello); break; } TotalPropagationDelay = msg.TotalPropagationDelay; }