public void Should_not_throw_exception_on_division_by_zero(double value, double expectedValue)
        {
            var instance = new SquareNanometre(value);
            var actual   = instance / 0d;

            Assert.AreEqual(expectedValue, actual.Value);
        }
        public void Should_compare_with_null_instance(double value)
        {
            var instance = new SquareNanometre(value);

            Assert.IsFalse(instance.Equals(null), "Equals");
            Assert.AreEqual(1, instance.CompareTo(null), "CompareTo");
        }
        public void Should_initialize_instance(double value)
        {
            var actual = new SquareNanometre(value);

            Assert.IsAssignableFrom <SquareNanometre>(actual);
            Assert.AreEqual(value, actual.Value, nameof(actual.Value));
        }
        public void Should_compare_with_another_type_of_instance(double value)
        {
            var    instance1 = new SquareNanometre(value);
            object instance2 = value;

            Assert.IsFalse(instance1.Equals(instance2), "Equals");
            Assert.Throws <ArgumentException>(() => instance1.CompareTo(instance2), "CompareTo");
        }
        public void Should_cast_to_double(double value)
        {
            var instance = new SquareNanometre(value);

            var actual = (double)instance;

            Assert.AreEqual(value, actual);
        }
        public void Should_cast_from_double(double value)
        {
            var expected = new SquareNanometre(value);

            var actual = (SquareNanometre)value;

            Assert.AreEqual(expected, actual);
        }
        public void Should_divide_instance_by_double(double leftValue, double rightValue, double expectedValue)
        {
            var expected = new SquareNanometre(expectedValue);

            var instance = new SquareNanometre(leftValue);
            var actual   = instance / rightValue;

            Assert.AreEqual(expected, actual);
        }
        public void Should_floor_value(double value, double expectedValue)
        {
            var expected = new SquareNanometre(expectedValue);

            var instance = new SquareNanometre(value);
            var actual   = instance.Floor();

            Assert.AreEqual(expected, actual);
        }
        public void Should_format_string(string format, string mask)
        {
            var expected = string.Format(Consts.CultureEnUS, mask, 1.757899e2);

            var instance = new SquareNanometre(1.757899e2);
            var actual   = instance.ToString(format, Consts.CultureEnUS);

            Assert.AreEqual(expected, actual);
        }
        public void Should_own_a_HashCode(double value)
        {
            var expected = value.GetHashCode();

            var instance = new SquareNanometre(value);
            var actual   = instance.GetHashCode();

            Assert.AreEqual(expected, actual);
        }
        public void Should_round_value_withDigit(double value, double expectedValue)
        {
            var expected = new SquareNanometre(expectedValue);

            var instance = new SquareNanometre(value);
            var actual   = instance.Round(1);

            Assert.AreEqual(expected, actual);
        }
        public void Should_convert_to_string(double value)
        {
            var expected = $"{value:e} nm²";

            var instance = new SquareNanometre(value);
            var actual   = instance.ToString();

            Assert.AreEqual(expected, actual);
        }
        public void Should_roundvalue_withMode(MidpointRounding mode, double value, double expectedValue)
        {
            var expected = new SquareNanometre(expectedValue);

            var instance = new SquareNanometre(value);
            var actual   = instance.Round(mode);

            Assert.AreEqual(expected, actual);
        }
        public void Should_multiply_double_by_instance(double leftValue, double rightValue, double expectedValue)
        {
            var expected = new SquareNanometre(expectedValue);

            var instance = new SquareNanometre(rightValue);

            var actual = leftValue * instance;

            Assert.AreEqual(expected, actual);
        }
        public void Should_subtract_two_instances(double leftValue, double rightValue, double expectedValue)
        {
            var expected = new SquareNanometre(expectedValue);

            var leftInstance  = new SquareNanometre(leftValue);
            var rightInstance = new SquareNanometre(rightValue);
            var actual        = leftInstance - rightInstance;

            Assert.AreEqual(expected, actual);
        }
Example #16
0
        public void Should_cast_from_SquareMegametre(double squareMegametreValue, double expectedValue)
        {
            var squareMegametreInstance = new SystemOfUnits.Area.SquareMetre.SquareMegametre(squareMegametreValue);

            SquareNanometre actual = squareMegametreInstance;

            Assert.IsAssignableFrom <SquareNanometre>(actual);

            var actualValue = actual.Value;

            Assert.AreEqual(expectedValue.ToString("E"), actualValue.ToString("E"));
        }
        public void Should_compare_with_same_value(double value)
        {
            var baseInstance  = new SquareNanometre(value);
            var otherInstance = new SquareNanometre(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, ">=");
        }
        public void Should_compare_with_bigger_value(double baseValue, double biggerValue)
        {
            var baseInstance   = new SquareNanometre(baseValue);
            var biggerInstance = new SquareNanometre(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, ">=");
        }
        public void Should_compare_with_smaller_value(double baseValue, double smallerValue)
        {
            var baseInstance    = new SquareNanometre(baseValue);
            var smallerInstance = new SquareNanometre(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, ">=");
        }
        public void Should_have_a_symbol(double value)
        {
            IUnit actual = new SquareNanometre(value);

            Assert.AreEqual(SquareNanometre.Symbol, actual.Symbol);
        }