public void Exhibit_Entity_Equality() { // arrange var a = new DumpMemoryRegion() { Address = 0 }; var b = new DumpMemoryRegion() { Address = 0 }; var c = new DumpMemoryRegion() { Address = 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>(); }
/// <summary> /// Creates the memory regions. /// </summary> public void CreateMemoryRegions() { var regions = new Dictionary <ulong, DumpMemoryRegion>(); foreach (var region in Runtime.EnumerateMemoryRegions()) { var newRegion = new DumpMemoryRegion { Address = region.Address, GcSegmentType = region.GcSegmentType, HeapNumber = region.HeapNumber, MemoryRegionType = region.MemoryRegionType, Size = region.Size }; if (!regions.ContainsKey(region.Address)) { regions.Add(region.Address, newRegion); } } MemoryRegions = regions; }