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)"); }
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); }
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)); }
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)); }
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)); }
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()); }
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(); } }
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)."); }
public virtual double ConvertFrom(Ounce fromUnit, double amount) { return(0); }
public override double ConvertFrom(Ounce fromUnit, double amount) { return(amount / OZ_LB); }
public static RatioQuantity Ounces(this int amount) => Ounce.S(amount);
public void Hash() { Assert.AreEqual(Tablespoon.S(2).GetHashCode(), Tablespoon.S(2).GetHashCode()); Assert.AreEqual(Ounce.S(16).GetHashCode(), Quart.S(0.5).GetHashCode()); }