public void TestProvidedMethods() { var i1 = Guid.NewGuid(); var i2 = Guid.NewGuid(); var c1 = new CorrelationId(i1); var c2 = new CorrelationId(i2); Assert.AreEqual(i1.CompareTo(i2), c1.CompareTo(c2)); // Compare correlation id and correlation id Assert.AreEqual(i1.CompareTo(i2), c1.CompareTo(i2)); // Compare correlation id and Guid Assert.AreEqual(i1.CompareTo((object)i2), c1.CompareTo((object)c2)); // Compare correlation id and object cid Assert.AreEqual(i1.CompareTo((object)i2), c1.CompareTo((object)i2)); // Compare correlation id and object Guid Assert.IsTrue(c1.Equals(new CorrelationId(i1))); // Equals correlation id and correlation id Assert.IsFalse(c1.Equals(new CorrelationId(i2))); // Not equals correlation id and correlation id Assert.IsTrue(c1.Equals((object)new CorrelationId(i1))); // Equals correlation id and object correlation id Assert.IsFalse(c1.Equals((object)new CorrelationId(i2))); // Not equals correlation id and object correlation id Assert.IsTrue(c1.Equals(i1)); // Equals correlation id and Guid Assert.IsFalse(c1.Equals(i2)); // Not equals correlation id and Guid Assert.IsFalse(c1.Equals((object)i1)); // Not equals correlation id and object Guid Assert.IsFalse(c1.Equals((object)i2)); // Not equals correlation id and object Guid Assert.AreEqual(i1.GetHashCode(), c1.GetHashCode()); // GetHashCode Assert.AreNotEqual(i2.GetHashCode(), c1.GetHashCode()); Assert.AreEqual(c1.GetHashCode(), c1.GetHashCode()); Assert.AreNotEqual(c2.GetHashCode(), c1.GetHashCode()); CollectionAssert.AreEqual(i1.ToByteArray(), c1.ToByteArray()); // To byte array CollectionAssert.AreNotEqual(i2.ToByteArray(), c1.ToByteArray()); CollectionAssert.AreEqual(i2.ToByteArray(), c2.ToByteArray()); CollectionAssert.AreNotEqual(i1.ToByteArray(), c2.ToByteArray()); Assert.AreEqual(i1.ToString(), c1.ToString()); // To string Assert.AreNotEqual(i2.ToString(), c1.ToString()); Assert.AreEqual(i2.ToString(), c2.ToString()); Assert.AreNotEqual(i1.ToString(), c2.ToString()); Assert.AreEqual(i1.ToString("N"), c1.ToString("N")); // To string with format Assert.AreNotEqual(i2.ToString("N"), c1.ToString("N")); Assert.AreEqual(i2.ToString("N"), c2.ToString("N")); Assert.AreNotEqual(i1.ToString("N"), c2.ToString("N")); var c = CultureInfo.CurrentCulture; Assert.AreEqual(i1.ToString("D", c), c1.ToString("D", c)); // To string with format and provider Assert.AreNotEqual(i2.ToString("D", c), c1.ToString("D", c)); Assert.AreEqual(i2.ToString("D", c), c2.ToString("D", c)); Assert.AreNotEqual(i1.ToString("D", c), c2.ToString("D", c)); }
public override void WriteTo(BinaryWriter writer) { base.WriteTo(writer); writer.Write((ushort)Flags); writer.Write(TransactionPosition); writer.Write(TransactionOffset); if (Version == LogRecordVersion.LogRecordV0) { int expectedVersion = ExpectedVersion == long.MaxValue - 1 ? int.MaxValue - 1 : (int)ExpectedVersion; writer.Write(expectedVersion); } else { writer.Write(ExpectedVersion); } writer.Write(EventStreamId); writer.Write(EventId.ToByteArray()); writer.Write(CorrelationId.ToByteArray()); writer.Write(TimeStamp.Ticks); writer.Write(EventType); writer.Write(Data.Length); writer.Write(Data.Span); writer.Write(Metadata.Length); writer.Write(Metadata.Span); }
// Other simple types /// <summary> Write a <c>CorrelationId</c> value to the stream. </summary> internal void Write(CorrelationId id) { Write(id.ToByteArray()); }
/// <summary> Write a <c>CorrelationId</c> value to the stream. </summary> internal static void Write(this IBinaryTokenStreamWriter @this, CorrelationId id) { @this.Write(id.ToByteArray()); }