示例#1
0
 public void EqualityOfSameUnit()
 {
     Assert.AreEqual(Tablespoon.S(2), Tablespoon.S(2));
     Assert.AreNotEqual(Tablespoon.S(2), Tablespoon.S(4));
     Assert.AreNotEqual(Tablespoon.S(2), new object());
     Assert.AreNotEqual(Tablespoon.S(2), null);
 }
示例#2
0
 public void EqualityOfLikeUnits()
 {
     Assert.AreEqual(Tablespoon.S(6), Tablespoon.S(6));
     Assert.AreNotEqual(Tablespoon.S(6), Tablespoon.S(5));
     Assert.AreNotEqual(Tablespoon.S(6), new object());
     Assert.AreNotEqual(Tablespoon.S(6), null);
 }
示例#3
0
        public void Equality()
        {
            Assert.AreEqual(3.0.Teaspoon(), 3.0.Teaspoon());
            Assert.AreEqual(1.0.Tablespoon(), 3.0.Teaspoon());
            Assert.AreEqual(1.0.Ounce(), 6.0.Teaspoon());
            Assert.AreEqual(1.0.Ounce(), 2.0.Tablespoon());
            Assert.AreEqual(2.0.Tablespoon(), 1.0.Ounce());
            Assert.AreEqual((-2.0).Tablespoon(), (-1.0).Ounce());
            Assert.AreEqual(0.5.Ounce(), 1.0.Tablespoon());
            Assert.AreEqual(6.0.Tablespoon(), 6.0.Tablespoon());
            Assert.AreEqual(1.0.Ounce(), 2.0.Tablespoon());
            Assert.AreEqual(Tablespoon.S(6), 6.0.Tablespoon());
            Assert.AreEqual(Tablespoon.S(6), 6.Tablespoon());
            Assert.AreEqual(Celsius.S(10), 10.Celsius());

            Assert.AreEqual(0.5.Ounce().GetHashCode(), 1.0.Tablespoon().GetHashCode());

            Assert.AreEqual(1.0.Foot(), 12.0.Inch());
            Assert.AreEqual(1.0.Yard(), 3.0.Foot());
            Assert.AreEqual(1.0.Furlong(), 220.0.Yard());
            Assert.AreEqual(1.0.Mile(), 8.0.Furlong());
            Assert.AreEqual(1.Foot(), 1.Foot());

            Assert.AreEqual(0.Celsius(), 32.Fahrenheit());
            Assert.AreEqual(10.Celsius(), 50.Fahrenheit());
            Assert.AreEqual(100.Celsius(), 212.Fahrenheit());
            Assert.AreEqual((-40).Celsius(), (-40).Fahrenheit());
            Assert.AreEqual((100).Fahrenheit(), (100).Fahrenheit());
            Assert.AreNotEqual((100).Fahrenheit(), (100).Celsius());

            Assert.AreEqual(32.Fahrenheit(), 0.Celsius());
            Assert.AreEqual(50.Fahrenheit(), 10.Celsius());
            Assert.AreEqual(212.Fahrenheit(), 100.Celsius());
            Assert.AreEqual(208.4.Fahrenheit(), 98.Celsius());
        }
示例#4
0
 public void Arithmetic()
 {
     Assert.AreEqual(Tablespoon.S(-3), -Tablespoon.S(3));
     Assert.AreEqual(-Cup.S(1.5), Cup.S(6.5) - Cup.S(8));
     Assert.AreEqual(-Tablespoon.S(24), Cup.S(6.5) - Gallon.S(0.5));
     Assert.AreEqual(-24.Tablespoons(), 6.5.Cups() - 0.5.Gallons());
     Assert.AreEqual(-Foot.S(6), Inch.Es(18) - Yard.S(2.5));
 }
示例#5
0
 public void Quantity()
 {
     RatioQuantity[] quantities =
     {
         Teaspoon.S(10), Quart.S(1), Tablespoon.S(6), Ounce.S(13)
     };
     Assert.AreEqual(Pint.S(2), Sequence.Max(quantities));
 }
        public void Quantity()
        {
            var quantities = new List <IntervalQuantity>
            {
                Teaspoon.S(10), Quart.S(1), Tablespoon.S(6), Ounce.S(13)
            };

            Assert.AreEqual(Pint.S(2), Sequence.Best(quantities));
        }
示例#7
0
 public void EqualityOfDifferentUnit()
 {
     Assert.AreNotEqual(Cup.S(4), Gallon.S(4));
     Assert.AreEqual(Teaspoon.S(3), Tablespoon.S(1));
     Assert.AreEqual(Ounce.S(16), Quart.S(0.5));
     Assert.AreEqual(Gallon.S(3), Teaspoon.S(2304));
     Assert.AreEqual(Foot.S(4.5), Yard.S(1.5));
     Assert.AreEqual(Mile.S(2), Inch.Es(126720));
     Assert.AreNotEqual(Inch.Es(1), Teaspoon.S(1));
     Assert.AreNotEqual(Inch.Es(1), Celsius.S(1));
 }
示例#8
0
        public void EqualityOfUnlikeUnits()
        {
            Assert.AreEqual(Tablespoon.S(6), Ounce.S(3));
            Assert.AreEqual(Tablespoon.S(8), Cup.S(0.5));
            Assert.AreEqual(Cup.S(0.5), Tablespoon.S(8));
            Assert.AreEqual(Gallon.S(2), Teaspoon.S(1536));
            Assert.AreNotEqual(Cup.S(6), Tablespoon.S(6));
            Assert.AreEqual(Inch.S(126720), Mile.S(2));
            Assert.AreNotEqual(Inch.Es(1), Teaspoon.S(1));
            Assert.AreNotEqual(Foot.S(2), Cup.S(0.5));

            Assert.AreEqual(6.Tablespoons(), 3.Ounces());
            Assert.AreEqual(8.Tablespoons(), 0.5.Cups());
            Assert.AreEqual(0.5.Cups(), 8.Tablespoons());
            Assert.AreEqual(2.Gallons(), 1536.Teaspoons());
            Assert.AreNotEqual(6.Cups(), 6.Tablespoons());
            Assert.AreNotEqual(1.Inches(), 1.Teaspoons());
            Assert.AreNotEqual(2.Feet(), 0.5.Cups());
        }
示例#9
0
 public void Hash()
 {
     Assert.AreEqual(Tablespoon.S(8).GetHashCode(), Cup.S(0.5).GetHashCode());
     Assert.AreEqual(Yard.S(2).GetHashCode(), Inch.Es(72).GetHashCode());
     Assert.AreEqual(Fahrenheit.S(50).GetHashCode(), Celsius.Es(10).GetHashCode());
 }
示例#10
0
 public void Addition()
 {
     Assert.AreEqual(1.0.Tablespoon() + 3.0.Teaspoon(), 1.0.Ounce());
     Assert.AreEqual(Tablespoon.S(1) + Tablespoon.S(1), 1.0.Ounce());
 }
示例#11
0
 public static RatioQuantity Tablespoons(this int amount) => Tablespoon.S(amount);
示例#12
0
 public void Hash()
 {
     Assert.AreEqual(Tablespoon.S(2).GetHashCode(), Tablespoon.S(2).GetHashCode());
     Assert.AreEqual(Ounce.S(16).GetHashCode(), Quart.S(0.5).GetHashCode());
 }