Example #1
0
        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");
        }
Example #2
0
        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);
            }
        }
Example #3
0
 public InventoryController()
 {
     // Initialize the data repository with a singleton instance so it stays static and
     // other sources can access it.
     this.repository = DictionaryInventoryRepository.Instance;
 }