public void WhenGetItemsIsInvokedThenReturnsResultOfFridgeGetItems() { var expectedItemTypeState = new ItemTypeState { Name = "Soda", Type = 10, Capacity = 100, FillFactor = 40 }; _smartFridge.Setup(s => s.GetItems(0.5)).Returns(new List <ItemTypeState>() { expectedItemTypeState }); var itemTypes = _smartFridgeManager.GetItems(0.5).ToList(); Assert.Single(itemTypes); var itemTypeState = itemTypes.First(); Assert.Equal(expectedItemTypeState, itemTypeState); }
public void GetItemsForShoppingListReturnsCorrectItems_WhenFridgeHasNoAlmostEmptyItems() { // Arrange var sfm = new SmartFridgeManager(); var item1UUID = "18976"; var itemType = 123L; var itemName = "Orange Juice"; double item1FillFactor = 0.75d; sfm.HandleItemAdded(itemType, item1UUID, itemName, item1FillFactor); double thresholdFillFactor = 0.5; // Act var items = sfm.GetItems(thresholdFillFactor); // Assert Assert.Empty(items); }
public void GetItemsForShoppingListReturnsCorrectItems_WhenAnItemIsForgottenItShouldNotBeReturned() { // Arrange var sfm = new SmartFridgeManager(); var item1UUID = "1897"; var itemType = 123L; var itemName = "Orange Juice"; double item1FillFactor = 1.0d; sfm.HandleItemAdded(itemType, item1UUID, itemName, item1FillFactor); double thresholdFillFactor = 0.5; // Act sfm.ForgetItem(itemType); var items = sfm.GetItems(thresholdFillFactor); // Assert Assert.Empty(items); }
public void GetItems_NegativeThresholdNotAllowed() { // Arrange var sfm = new SmartFridgeManager(); var item1UUID = "1897"; var ojItemType = 123L; var itemName = "Orange Juice"; double ojFillFactor = 0.25d; sfm.HandleItemAdded(ojItemType, item1UUID, itemName, ojFillFactor); var item2UUID = "2897"; double item2FillFactor = 1.0d; var otherItemType = 333L; sfm.HandleItemAdded(otherItemType, item2UUID, itemName, item2FillFactor); var threshold = -1.0d; // Act & Assert Assert.Throws <ArgumentOutOfRangeException>(() => sfm.GetItems(threshold)); }
public void GetItemsForShoppingListReturnsCorrectItems_WhenFridgeHasOneItemAlmostEmpty() { // Arrange var sfm = new SmartFridgeManager(); var item1UUID = "18976"; var itemType = 123L; var itemName = "Orange Juice"; double item1FillFactor = 0.25d; sfm.HandleItemAdded(itemType, item1UUID, itemName, item1FillFactor); double thresholdFillFactor = 0.5; object[] expectedResult = new object[] { itemType, item1FillFactor }; // Act var items = sfm.GetItems(thresholdFillFactor); // Assert Assert.Single(items); Assert.Contains(expectedResult, items); }