コード例 #1
0
        public void Should_compare_with_null_instance(double value)
        {
            var instance = new Celsius(value);

            Assert.IsFalse(instance.Equals(null), "Equals");
            Assert.AreEqual(1, instance.CompareTo(null), "CompareTo");
        }
コード例 #2
0
        public void Should_compare_with_another_type_of_instance(double value)
        {
            var    instance1 = new Celsius(value);
            object instance2 = value;

            Assert.IsFalse(instance1.Equals(instance2), "Equals");
            Assert.Throws <ArgumentException>(() => instance1.CompareTo(instance2), "CompareTo");
        }
コード例 #3
0
        public void Should_compare_with_bigger_value(double baseValue, double biggerValue)
        {
            var baseInstance   = new Celsius(baseValue);
            var biggerInstance = new Celsius(biggerValue);

            Assert.IsFalse(baseInstance.Equals(biggerInstance), "Equals");
            Assert.IsFalse(baseInstance.Equals((object)biggerInstance), "Equals object");

            Assert.IsFalse(baseInstance == biggerInstance, "==");
            Assert.IsTrue(baseInstance != biggerInstance, "!=");

            Assert.AreEqual(-1, baseInstance.CompareTo(biggerInstance), "CompareTo");
            Assert.AreEqual(-1, baseInstance.CompareTo((object)biggerInstance), "CompareTo object");

            Assert.IsTrue(baseInstance < biggerInstance, "<");
            Assert.IsFalse(baseInstance > biggerInstance, ">");

            Assert.IsTrue(baseInstance <= biggerInstance, "<=");
            Assert.IsFalse(baseInstance >= biggerInstance, ">=");
        }
コード例 #4
0
        public void Should_compare_with_smaller_value(double baseValue, double smallerValue)
        {
            var baseInstance    = new Celsius(baseValue);
            var smallerInstance = new Celsius(smallerValue);

            Assert.IsFalse(baseInstance.Equals(smallerInstance), "Equals");
            Assert.IsFalse(baseInstance.Equals((object)smallerInstance), "Equals object");

            Assert.IsFalse(baseInstance == smallerInstance, "==");
            Assert.IsTrue(baseInstance != smallerInstance, "!=");

            Assert.AreEqual(+1, baseInstance.CompareTo(smallerInstance), "CompareTo");
            Assert.AreEqual(+1, baseInstance.CompareTo((object)smallerInstance), "CompareTo object");

            Assert.IsFalse(baseInstance < smallerInstance, "<");
            Assert.IsTrue(baseInstance > smallerInstance, ">");

            Assert.IsFalse(baseInstance <= smallerInstance, "<=");
            Assert.IsTrue(baseInstance >= smallerInstance, ">=");
        }
コード例 #5
0
        public void Should_compare_with_same_value(double value)
        {
            var baseInstance  = new Celsius(value);
            var otherInstance = new Celsius(value);

            Assert.IsTrue(baseInstance.Equals(otherInstance), "Equals");
            Assert.IsTrue(baseInstance.Equals((object)otherInstance), "Equals object");

            Assert.IsTrue(baseInstance == otherInstance, "==");
            Assert.IsFalse(baseInstance != otherInstance, "!=");

            Assert.AreEqual(0, baseInstance.CompareTo(otherInstance), "CompareTo");
            Assert.AreEqual(0, baseInstance.CompareTo((object)otherInstance), "CompareTo object");

            Assert.IsFalse(baseInstance < otherInstance, "<");
            Assert.IsFalse(baseInstance > otherInstance, ">");

            Assert.IsTrue(baseInstance <= otherInstance, "<=");
            Assert.IsTrue(baseInstance >= otherInstance, ">=");
        }
コード例 #6
0
            public void EqGtGeLtLe()
            {
                Celsius celsius = (Celsius)100.0;

                Assert.IsTrue(celsius == (Celsius)(Kelvin)(100.0 + 273.15));
                Assert.IsTrue(celsius.Equals((Celsius)(Kelvin)(100.0 + 273.15)));
                Assert.IsTrue((Kelvin)celsius > (Kelvin)100.0);
                Assert.IsTrue((Kelvin)celsius >= (Kelvin)100.0);
                Assert.IsTrue((Kelvin)100.0 < (Kelvin)celsius);
                Assert.IsTrue((Kelvin)100.0 <= (Kelvin)celsius);
            }
コード例 #7
0
        /// <summary>
        /// Overrides the standard equals method for comparison of the temperature class.
        /// </summary>
        /// <param name="obj">Other object.</param>
        /// <returns>True if equals, otherwise false.</returns>
        public override bool Equals(object obj)
        {
            var item = obj as Temperature;

            if (item == null)
            {
                return(false);
            }

            // Check if ID is the same
            if (!ID.Equals(item.ID))
            {
                return(false);
            }

            // Check if date is the same
            if (!Date.Equals(item.Date))
            {
                return(false);
            }

            // Check if the temperature is the same
            return(Celsius.Equals(item.Celsius));
        }