public void PutProduct_ShouldFail_WhenDifferentID()
        {
            var controller = new TemperatureModelsController(new TestTemperatureContext());

            var badresult = controller.PutTemperatureModel(999, GetDemotemperature());
            Assert.IsInstanceOfType(badresult, typeof(BadRequestResult));
        }
        public void GetProduct_ShouldReturnProductWithSameID()
        {
            var context = new TestTemperatureContext();
            context.Table.Add(GetDemotemperature());

            var controller = new TemperatureModelsController(context);
            var result = controller.GetTemperatureModel(3) as OkNegotiatedContentResult<TemperatureModel>;

            Assert.IsNotNull(result);
            Assert.AreEqual(3, result.Content.Id);
        }
        public void DeleteProduct_ShouldReturnOK()
        {
            var context = new TestTemperatureContext();
            var item = GetDemotemperature();
            context.Table.Add(item);

            var controller = new TemperatureModelsController(context);
            var result = controller.DeleteTemperatureModel(3) as OkNegotiatedContentResult<TemperatureModel>;

            Assert.IsNotNull(result);
            Assert.AreEqual(item.Id, result.Content.Id);
        }
        public void GetProducts_ShouldReturnAllProducts()
        {
            var context = new TestTemperatureContext();
            context.Table.Add(new TemperatureModel { Id = 1, Temperature = "10", DateTime= DateTime.Now});
            context.Table.Add(new TemperatureModel { Id = 2, Temperature = "15", DateTime = DateTime.Now });
            context.Table.Add(new TemperatureModel { Id = 3, Temperature = "20", DateTime = DateTime.Now });

            var controller = new TemperatureModelsController(context);
            var result = controller.GetTable() as TestTemperatureModelDbSet;

            Assert.IsNotNull(result);
            Assert.AreEqual(3, result.Local.Count);
        }
        public void PostProduct_ShouldReturnSameProduct()
        {
            var controller = new TemperatureModelsController(new TestTemperatureContext());

            var item = GetDemotemperature();

            var result =
                controller.PostTemperatureModel(item) as CreatedAtRouteNegotiatedContentResult<TemperatureModel>;

            Assert.IsNotNull(result);
            Assert.AreEqual(result.RouteName, "DefaultApi");
            Assert.AreEqual(result.RouteValues["id"], result.Content.Id);
            Assert.AreEqual(result.Content.Temperature, item.Temperature);
        }