private void TestStreamPropertiesClone(StreamProperties sp) { // Set members in source object sp.ContentType = "foo_1"; sp.ContentEncoding = "foo_2"; sp.Headers = new Dictionary<string, object>(); sp.Headers.Add("foo_3", "foo_4"); sp.Headers.Add("foo_5", "foo_6"); sp.Priority = 12; sp.Timestamp = new AmqpTimestamp(123); // Clone StreamProperties spClone = sp.Clone() as StreamProperties; // Change values in source object sp.ContentType = "foo_7"; sp.ContentEncoding = "foo_8"; sp.Headers.Remove("foo_3"); sp.Headers.Remove("foo_5"); sp.Headers.Add("foo_9", "foo_10"); sp.Headers.Add("foo_11", "foo_12"); sp.Priority = 34; sp.Timestamp = new AmqpTimestamp(234); // Make sure values have not changed in clone Assert.AreEqual("foo_1", spClone.ContentType); Assert.AreEqual("foo_2", spClone.ContentEncoding); Assert.AreEqual(2, spClone.Headers.Count); Assert.AreEqual(true, spClone.Headers.ContainsKey("foo_3")); Assert.AreEqual("foo_4", spClone.Headers["foo_3"]); Assert.AreEqual(true, spClone.Headers.ContainsKey("foo_5")); Assert.AreEqual("foo_6", spClone.Headers["foo_5"]); Assert.AreEqual(12, spClone.Priority); Assert.AreEqual(new AmqpTimestamp(123), spClone.Timestamp); }
private void TestStreamPropertiesNoneClone(StreamProperties sp) { // Do not set any members and clone StreamProperties spClone = sp.Clone() as StreamProperties; // Set members in source object sp.ContentType = "foo_1"; sp.ContentEncoding = "foo_2"; sp.Headers = new Dictionary<string, object>(); sp.Headers.Add("foo_3", "foo_4"); sp.Headers.Add("foo_5", "foo_6"); sp.Priority = 12; sp.Timestamp = new AmqpTimestamp(123); // Check that no member is present in clone Assert.AreEqual(false, spClone.IsContentTypePresent()); Assert.AreEqual(false, spClone.IsContentEncodingPresent()); Assert.AreEqual(false, spClone.IsHeadersPresent()); Assert.AreEqual(false, spClone.IsPriorityPresent()); Assert.AreEqual(false, spClone.IsTimestampPresent()); }