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);
    }
Exemple #3
0
 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);
 }
Exemple #4
0
 /// <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;
 }