public void Simple_price_increase()
        {
            var options = new DbContextOptions <CycleSalesContext>()
                          .UseInMemoryStore();

            // Arrange
            using (var db = new CycleSalesContext(options))
            {
                db.Database.EnsureDeleted();
                db.Database.EnsureCreated();

                db.Bikes.Add(new Bike {
                    Retail = 200
                });
                db.Bikes.Add(new Bike {
                    Retail = 100
                });
                db.SaveChanges();
            }

            // Act
            using (var db = new CycleSalesContext(options))
            {
                var svc = new PriceService(db);
                svc.UpdatePrices(2);
            }

            // Assert
            using (var db = new CycleSalesContext(options))
            {
                Assert.True(db.Bikes.Any(b => b.Retail == 400));
                Assert.True(db.Bikes.Any(b => b.Retail == 200));
            }
        }
Example #2
0
        public void SimpleConversion()
        {
            // TODO Test currently hits a real database, replace with something in-memory

            using (var db = new CycleSalesContext())
            {
                // Arange
                db.Bikes.Add(new Bike {
                    Bike_Id = 1, Retail = 100M
                });
                db.Bikes.Add(new Bike {
                    Bike_Id = 2, Retail = 99.95M
                });
                db.SaveChanges();

                // Act
                var convertor = new PriceService(db);
                var results   = convertor.CalculateForeignPrices(exchangeRate: 2).ToArray();

                // Assert
                Assert.AreEqual(2, results.Length);

                Assert.AreEqual(100M, results[0].USPrice);
                Assert.AreEqual(199.95M, results[0].ForeignPrice);

                Assert.AreEqual(99.95M, results[1].USPrice);
                Assert.AreEqual(199.90M, results[1].ForeignPrice);
            }
        }
Example #3
0
        public void SimpleConversion()
        {
            var options = new DbContextOptions()
                          .UseInMemoryStore();

            using (var db = new CycleSalesContext(options))
            {
                // Arange
                db.Bikes.Add(new Bike {
                    Bike_Id = 1, Retail = 100M
                });
                db.Bikes.Add(new Bike {
                    Bike_Id = 2, Retail = 99.95M
                });
                db.SaveChanges();

                // Act
                var convertor = new PriceService(db);
                var results   = convertor.CalculateForeignPrices(exchangeRate: 2).ToArray();

                // Assert
                Assert.AreEqual(2, results.Length);

                Assert.AreEqual(100M, results[0].USPrice);
                Assert.AreEqual(199.95M, results[0].ForeignPrice);

                Assert.AreEqual(99.95M, results[1].USPrice);
                Assert.AreEqual(199.90M, results[1].ForeignPrice);
            }
        }
Example #4
0
        private void buttonGo_Click(object sender, EventArgs e)
        {
            var exchangeRate = decimal.Parse(this.textExchangeRate.Text);

            using (var db = new CycleSalesContext())
            {
                var convertor = new PriceService(db);
                this.dataGridView1.DataSource = convertor.CalculateForeignPrices(exchangeRate);
            }
        }
 public BikeController(CycleSalesContext context)
 {
     db = context;
 }