public void ExcecuteCommandPurchase_Test() { //set ProductINFO.Products = new System.Collections.Generic.List <ProductINFO>(); DateTime date; DateTime.TryParseExact("2019-01-01", "dd-MM-yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out date); ProductINFO product = new ProductINFO { Date = date, Price = 50.0, Currency = "EUR", Name = "Beer" }; string command = "purchase 2019-01-01 50 EUR Beer"; string[] words = command.Split(' '); //act Executer executer = new Executer(); executer.ExecuteCommand(words, new ProductINFO()); //assert Assert.AreEqual(product.Date, ProductINFO.Products[0].Date); Assert.AreEqual(product.Price, ProductINFO.Products[0].Price); Assert.AreEqual(product.Currency, ProductINFO.Products[0].Currency); Assert.AreEqual(product.Name, ProductINFO.Products[0].Name); }
public void ExcecuteCommandClear_Test() { //set ProductINFO.Products = new System.Collections.Generic.List <ProductINFO> { { new ProductINFO { Date = Convert.ToDateTime("01.01.2019"), Price = 50.0, Currency = "USD", Name = "Beer" } }, { new ProductINFO { Date = Convert.ToDateTime("01.01.2018"), Price = 50.0, Currency = "USD", Name = "Beer" } } }; int expectedCount = ProductINFO.Products.Count - 1; // decreasing of products count string command = "clear 2019-01-01"; string[] words = command.Split(' '); //act Executer executer = new Executer(); executer.ExecuteCommand(words); int actualCount = ProductINFO.Products.Count; //assert Assert.AreEqual(expectedCount, actualCount); }
public void ExcecuteCommandReport_Test() { //set ProductINFO.Products = new System.Collections.Generic.List <ProductINFO> { { new ProductINFO { Date = Convert.ToDateTime("01.01.2019"), Price = 50.0, Currency = "EUR", Name = "Beer" } }, { new ProductINFO { Date = Convert.ToDateTime("01.02.2019"), Price = 50.0, Currency = "UAH", Name = "Beer" } } }; double expectedValue = 1527.0641; // Change Value depening on rates string command = "report 2019 UAH"; string[] words = command.Split(' '); //act Executer executer = new Executer(); executer.ExecuteCommand(words); //assert Assert.AreEqual(expectedValue, ProductINFO.ProfitPerYear[Int32.Parse(words[1])]); }