public void MakePermanent_WithValidData_ShouldMakeItemPermanent() { // Arrange Fixture fixture = commonFixture.GetNewFixture(); var definition = StoreItemDefinition.FromTemporary(true); IStoreItem storeItem = storeItemFixture.CreateValid(definition); PermanentItem permanentItem = fixture.Create <PermanentItem>(); List <IStoreItemAvailability> availabilities = storeItemAvailabilityFixture.CreateManyValid().ToList(); // Act storeItem.MakePermanent(permanentItem, availabilities); // Assert using (new AssertionScope()) { storeItem.Name.Should().Be(permanentItem.Name); storeItem.Comment.Should().Be(permanentItem.Comment); storeItem.QuantityType.Should().Be(permanentItem.QuantityType); storeItem.QuantityInPacket.Should().Be(permanentItem.QuantityInPacket); storeItem.QuantityTypeInPacket.Should().Be(permanentItem.QuantityTypeInPacket); storeItem.Availabilities.Should().BeEquivalentTo(availabilities); storeItem.ItemCategoryId.Should().Be(permanentItem.ItemCategoryId); storeItem.ManufacturerId.Should().Be(permanentItem.ManufacturerId); storeItem.IsTemporary.Should().BeFalse(); } }
/// <summary> /// Gets the item by Index. /// </summary> /// <returns>The permanent item by the specified Index.</returns> /// <param name="idx">Index.</param> public static PermanentItem GetItemByID(int idx) { string itemString = InfoSaver.GetStringFromResource(FileName.PermamnentItem, idx); string[] splitted = itemString.Split(' '); PermanentItem retItem = new PermanentItem(idx, splitted[0], splitted[1], splitted[2], splitted[3]); return(retItem); }
public void VerifyMakePermanentOnce(PermanentItem permanentItem, IEnumerable <IStoreItemAvailability> availabilities) { Verify( i => i.MakePermanent( It.Is <PermanentItem>(pi => pi == permanentItem), It.Is <IEnumerable <IStoreItemAvailability> >(list => list.SequenceEqual(availabilities))), Times.Once); }
/// <summary> /// Reads the concise item information from the item file. The index is the line number of the item. /// </summary> /// <returns>The item from file.</returns> /// <param name="index">Index.</param> private static DisplayItem ReadItemFromFile(ItemType type, int index) { if (type == ItemType.Permanent) { return(PermanentItem.GetItemByID(index)); } else { return(UsableItem.GetItemByID(index)); } }
public void MakePermanent(PermanentItem permanentItem, IEnumerable <IStoreItemAvailability> availabilities) { Name = permanentItem.Name; Comment = permanentItem.Comment; QuantityType = permanentItem.QuantityType; QuantityInPacket = permanentItem.QuantityInPacket; QuantityTypeInPacket = permanentItem.QuantityTypeInPacket; ItemCategoryId = permanentItem.ItemCategoryId; ManufacturerId = permanentItem.ManufacturerId; this.availabilities = availabilities.ToList(); IsTemporary = false; }