/// <summary> /// Creates the heap segments. /// </summary> public void CreateHeapSegments() { var segments = new Dictionary <ulong, DumpHeapSegment>(); foreach (var heapSegment in Runtime.Heap.Segments) { var segment = new DumpHeapSegment { ReservedEnd = heapSegment.ReservedEnd, Start = heapSegment.Start, CommittedEnd = heapSegment.CommittedEnd, End = heapSegment.End, FirstObject = heapSegment.FirstObject, Gen0Length = heapSegment.Gen0Length, Gen0Start = heapSegment.Gen0Start, Gen1Length = heapSegment.Gen1Length, Gen1Start = heapSegment.Gen1Start, Gen2Length = heapSegment.Gen2Length, Gen2Start = heapSegment.Gen2Start, Heap = heapSegment.Heap, IsEphemeral = heapSegment.IsEphemeral, IsLarge = heapSegment.IsLarge, Length = heapSegment.Length, ProcessorAffinity = heapSegment.ProcessorAffinity }; segments.Add(heapSegment.Start, segment); } Segments = segments; }
public void Exhibit_Entity_Equality() { // arrange var a = new DumpHeapSegment() { Start = 0 }; var b = new DumpHeapSegment() { Start = 0 }; var c = new DumpHeapSegment() { Start = 1 }; // act // assert a.GetHashCode().Should().Be(b.GetHashCode()); a.GetHashCode().Should().NotBe(c.GetHashCode()); a.Equals(a).Should().BeTrue(); a.Equals(b).Should().BeTrue(); a.Equals(c).Should().BeFalse(); a.Equals(null).Should().BeFalse(); a.Equals("").Should().BeFalse(); a.CompareTo(a).Should().Be(0); a.CompareTo(b).Should().Be(0); a.CompareTo(c).Should().Be(-1); a.CompareTo(null).Should().Be(1); a.Equals((object)a).Should().BeTrue(); a.Equals((object)b).Should().BeTrue(); a.Equals((object)c).Should().BeFalse(); a.Equals((object)null).Should().BeFalse(); a.CompareTo((object)a).Should().Be(0); a.CompareTo((object)b).Should().Be(0); a.CompareTo((object)c).Should().Be(-1); a.CompareTo((object)null).Should().Be(1); (a < b).Should().BeFalse(); (a <= b).Should().BeTrue(); (c > a).Should().BeTrue(); (c >= a).Should().BeTrue(); Action throws = () => a.CompareTo(""); throws.Should().Throw <ArgumentException>(); }