Exemplo n.º 1
0
            public void MassUnits()
            {
                Kilogram kilograms = (Kilogram)1.0;
                Gram     grams     = (Gram)kilograms;
                Tonne    tonnes    = (Tonne)grams;
                Pound    pounds    = (Pound)tonnes;
                Ounce    ounces    = (Ounce)pounds;

                kilograms = (Kilogram)ounces;

                Assert.AreEqual((Gram)1000.0, grams, "Kilogram-to-Gram conversion failed (1)");
                Assert.AreEqual((Tonne)0.001, tonnes, "Gram-to-Tonne conversion failed (1)");
                Assert.AreEqual((Pound)2.2046226218487757, pounds, "Tonne-to-Pound conversion failed (1)");
                Assert.AreEqual((Ounce)35.273961949580411, ounces, "Pound-to-Ounce conversion failed (1)");
                Assert.AreEqual((Kilogram)1.0, kilograms, "Ounce-to-Kilogram conversion failed (1)");

                Assert.AreEqual(16.0, ounces.Value / pounds.Value, "Incorrect Ounce-to-Pound conversion factor (1)");

                pounds    = (Pound)1.0;
                kilograms = (Kilogram)pounds;
                grams     = (Gram)kilograms;
                tonnes    = (Tonne)grams;
                ounces    = (Ounce)tonnes;

                pounds = (Pound)ounces;

                Assert.AreEqual((Kilogram)0.45359237, kilograms, "Pound-to-Kilogram conversion failed (2)");
                Assert.AreEqual((Gram)453.59237, grams, "Kilogram-to-Gram conversion failed (2)");
                Assert.AreEqual((Tonne)0.00045359237, tonnes, "Gram-to-Tonne conversion failed (2)");
                Assert.AreEqual((Ounce)15.999999999999996, ounces, "Tonne-to-Ounce conversion failed (2)");
                Assert.AreEqual((Pound)0.99999999999999978, pounds, "Ounce-to-Pound conversion failed (2)");

                Assert.AreEqual(16.0, ounces.Value / pounds.Value, "Incorrect Ounce-to-Pound conversion factor (2)");
            }
Exemplo n.º 2
0
 public void InvalidArithmetic()
 {
     Assert.That(delegate { return(Foot.S(3) - Ounce.S(4)); }, Throws.ArgumentException);
     // The following should not compile:
     //var total = Celsius.S(10) + Fahrenheit.S(50);
     //var total = Inch.Es(10) + Fahrenheit.S(50);
 }
Exemplo n.º 3
0
 public void Arithmetic()
 {
     Assert.AreEqual(-Ounce.S(4), -(Pint.S(0.25)));
     Assert.AreEqual(Cup.S(1), Ounce.S(4) + Pint.S(0.25));
     Assert.AreEqual(Pint.S(-0.25), Quart.S(0.25) - Ounce.S(12));
     Assert.AreEqual(-Foot.S(3), Inch.Es(36) - Yard.S(2));
 }
Exemplo n.º 4
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 Task Handle(CreateOuncePriceCommand command)
        {
            var dollarToRialChangeRate = new Ounce(command.Dollar);

            _repo.Save(dollarToRialChangeRate);

            return(Task.CompletedTask);
        }
        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));
        }
Exemplo n.º 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));
 }
Exemplo n.º 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());
        }
Exemplo n.º 9
0
 public static async Task SaveOunces(ulong UserId, int Amount)
 {
     using (var DbContext = new SqliteDbContext()) {
         if (DbContext.ounces.Where(x => x.UserId == UserId).Count() < 1)
         {
             DbContext.ounces.Add(new Ounce {
                 UserId = UserId,
                 Amount = Amount
             });
         }
         else
         {
             Ounce Current = DbContext.ounces.Where(x => x.UserId == UserId).FirstOrDefault();
             Current.Amount += Amount;
             DbContext.ounces.Update(Current);
         }
         await DbContext.SaveChangesAsync();
     }
 }
Exemplo n.º 10
0
        private static void MassConverter()
        {
            ICalculator calculator = new MassCalculator();

            Console.WriteLine("What mass unit do you want to convert from?");
            Console.WriteLine("Options: 1 for Milligrams, 2 for Grams, 3 for Kilograms, 4 for Ounces, 5 for Pounds, 6 for Stones");
            Console.WriteLine("Type 'exit' to stop the program.");
            var convertFrom = Console.ReadLine();

            while (!int.TryParse(convertFrom, out int number) || (Convert.ToInt32(convertFrom) < 1 || Convert.ToInt32(convertFrom) > 6))
            {
                Console.WriteLine("Error write only numbers and it must be between 1 and 6");
                Console.WriteLine("Type 'exit' to stop the program.");
                convertFrom = Console.ReadLine();

                if (convertFrom.ToLower() == "exit")
                {
                    break;
                }
            }

            Console.WriteLine("What mass unit do you want to convert to?");
            Console.WriteLine("Options: 1 for Milligrams, 2 for Grams, 3 for Kilograms, 4 for Ounces, 5 for Pounds, 6 for Stones");
            Console.WriteLine("Type 'exit' to stop the program.");
            var convertTo = Console.ReadLine();

            while (!int.TryParse(convertTo, out int number) || (Convert.ToInt32(convertTo) < 1 || Convert.ToInt32(convertTo) > 6))
            {
                Console.WriteLine("Error write only numbers and it must be between 1 and 6");
                Console.WriteLine("Type 'exit' to stop the program.");
                convertTo = Console.ReadLine();

                if (convertTo.ToLower() == "exit")
                {
                    break;
                }
            }

            Console.WriteLine("What is the value you want to convert?");
            var valueToConvert = Console.ReadLine();

            while (!double.TryParse(valueToConvert, out double number))
            {
                Console.WriteLine("Error write only numbers.");
                Console.WriteLine("Type 'exit' to stop the program.");
                valueToConvert = Console.ReadLine();

                if (valueToConvert.ToLower() == "exit")
                {
                    break;
                }
            }

            IUnit from = null;
            IUnit to   = null;

            double valueInDoubleToConvert = double.Parse(valueToConvert);

            switch (convertFrom)
            {
            case "1":
                from = new Milligram {
                    Value = valueInDoubleToConvert
                };
                break;

            case "2":
                from = new Gram {
                    Value = valueInDoubleToConvert
                };
                break;

            case "3":
                from = new Kilogram {
                    Value = valueInDoubleToConvert
                };
                break;

            case "4":
                from = new Ounce {
                    Value = valueInDoubleToConvert
                };
                break;

            case "5":
                from = new Pound {
                    Value = valueInDoubleToConvert
                };
                break;

            case "6":
                from = new Stone {
                    Value = valueInDoubleToConvert
                };
                break;
            }

            switch (convertTo)
            {
            case "1":
                to = new Milligram();
                break;

            case "2":
                to = new Gram();
                break;

            case "3":
                to = new Kilogram();
                break;

            case "4":
                to = new Ounce();
                break;

            case "5":
                to = new Pound();
                break;

            case "6":
                to = new Stone();
                break;
            }

            var result = calculator.Calculate(from, to);

            Console.WriteLine($"Well, {from.Value} {from.Name}(s) is equal to {result} {to.Name}(s).");
        }
Exemplo n.º 11
0
 public virtual double ConvertFrom(Ounce fromUnit, double amount)
 {
     return(0);
 }
Exemplo n.º 12
0
 public override double ConvertFrom(Ounce fromUnit, double amount)
 {
     return(amount / OZ_LB);
 }
Exemplo n.º 13
0
 public static RatioQuantity Ounces(this int amount) => Ounce.S(amount);
Exemplo n.º 14
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());
 }