コード例 #1
0
        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>();
        }
コード例 #2
0
        /// <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;
        }