public void Equals_SuppliedObjectIsNull_ResultIsFalse()
        {
            // Arrange
            var object1 = new SystemPerformanceData
                {
                    MemoryStatus = new SystemMemoryInformation { AvailableMemoryInGB = 3 },
                    ProcessorStatus = new ProcessorUtilizationInformation { ProcessorUtilizationInPercent = 30d }
                };

            SystemPerformanceData object2 = null;

            // Act
            bool result = object1.Equals(object2);

            // Assert
            Assert.IsFalse(result);
        }
        public void Equals_TwoUninitializedObjects_ResultIsTrue()
        {
            // Arrange
            var object1 = new SystemPerformanceData();
            var object2 = new SystemPerformanceData();

            // Act
            bool result = object1.Equals(object2);

            // Assert
            Assert.IsTrue(result);
        }
        public void Equals_TwoIdenticalInitializedObjects_ResultIsTrue()
        {
            // Arrange
            var object1 = new SystemPerformanceData
                {
                    MemoryStatus = new SystemMemoryInformation { AvailableMemoryInGB = 3 },
                    ProcessorStatus = new ProcessorUtilizationInformation { ProcessorUtilizationInPercent = 30d }
                };

            var object2 = new SystemPerformanceData
                {
                    MemoryStatus = new SystemMemoryInformation { AvailableMemoryInGB = 3 },
                    ProcessorStatus = new ProcessorUtilizationInformation { ProcessorUtilizationInPercent = 30d }
                };

            // Act
            bool result = object1.Equals(object2);

            // Assert
            Assert.IsTrue(result);
        }