internal virtual void AssertEquality(IHeader expected, IHeader actual) { Assert.AreEqual(expected.Id, actual.Id, "Should be equal"); Assert.AreEqual(expected.Aa, actual.Aa, "Should be equal"); Assert.AreEqual(expected.Tc, actual.Tc, "Should be equal"); Assert.AreEqual(expected.Rd, actual.Rd, "Should be equal"); Assert.AreEqual(expected.Ra, actual.Ra, "Should be equal"); Assert.AreEqual(expected.Z, actual.Z, "Should be equal"); Assert.AreEqual(expected.QdCount, actual.QdCount, "Should be equal"); Assert.AreEqual(expected.AnCount, actual.AnCount, "Should be equal"); Assert.AreEqual(expected.NsCount, actual.NsCount, "Should be equal"); Assert.AreEqual(expected.ArCount, actual.ArCount, "Should be equal"); Assert.AreEqual(expected.Qr, actual.Qr, "Should be equal"); Assert.AreEqual(expected.OpCode, actual.OpCode, "Should be equal"); Assert.AreEqual(expected.RCode, actual.RCode, "Should be equal"); AssertEquality(expected.ToBytes(), actual.ToBytes()); }