public void RemoveItem_Positive() { // Arrange var controller = new InventoryController(); controller.Request = new HttpRequestMessage(); controller.Configuration = new HttpConfiguration(); DictionaryInventoryRepository repository = DictionaryInventoryRepository.Instance; repository.Add(new InventoryItem { label = "soup", expiration = new DateTime(2016, 10, 1), type = "Campbells" }); // Act InventoryItem[] results = new List <InventoryItem>(controller.Get()).ToArray(); // Assert Assert.IsTrue(results.Length >= 1, "Should return a list of items"); // Remove All items - maybe add a method to the data model or controller to do this. for (int i = 0; i < results.Length; i++) { controller.DeleteInventoryItem(results[i].label); } List <InventoryItem> newResults = new List <InventoryItem>(controller.Get()); // Assert Assert.AreEqual(0, newResults.Count, "Should Now return a zero-length list"); }
public void CheckForExpiredData() { this.repository = DictionaryInventoryRepository.Instance; while (true) { InventoryItem[] expiredInventoryItems = this.repository.Get().Where(e => e.expiration < DateTime.Now).ToArray(); for (var i = 0; i < expiredInventoryItems.Length; i++) { var label = expiredInventoryItems[i].label; System.Diagnostics.Debug.WriteLine(String.Format("Expired Item: {0} automatically removed from inventory", label)); this.repository.Delete(label); } Thread.Sleep(1000); } }
public InventoryController() { // Initialize the data repository with a singleton instance so it stays static and // other sources can access it. this.repository = DictionaryInventoryRepository.Instance; }