public void CreateItemFromRequest_ShouldFillChargeIfPresentInItemTemplateData() { var itemData = new ItemData(); var itemTemplate = CreateItemTemplate(); var partialItemTemplateData = new PartialItemTemplateData { Charge = 2 }; _jsonUtil.DeserializeOrCreate <PartialItemTemplateData>("some-item-template-data") .Returns(partialItemTemplateData); _jsonUtil.SerializeNonNull(Arg.Any <ItemData>()) .Returns("some-json"); _jsonUtil.When(x => x.Serialize(itemData)) .Do(_ => itemData.Charge.Should().Be(2)); var actualItem = _factory.CreateItem(ItemOwnerType.Character, 10, itemTemplate, itemData); actualItem.Data.Should().BeEquivalentTo("some-json"); }