public static ITransformationJewelParser Create(Func <ushort, IValueBuilder> createEffectivenessForNode)
        {
            var components = TransformationJewelParserData.CreateAll()
                             .Select(d => new TransformationJewelParser(createEffectivenessForNode, d))
                             .Cast <ITransformationJewelParser>()
                             .ToArray();

            return(new CompositeTransformationJewelParser(components));
        }
 public TransformationJewelParser(
     Func <ushort, IValueBuilder> createEffectivenessForNode, TransformationJewelParserData jewelData)
 {
     _createEffectivenessForNode = createEffectivenessForNode;
     _jewelData = jewelData;
 }
 private static TransformationJewelParser CreateSut(TransformationJewelParserData data = null)
 => new TransformationJewelParser(
     id => new ValueBuilderStub(id),
     data ?? new TransformationJewelParserData.SingleDamageTypeTransformation());