public void Setup()
        {
            var cpmProvider = new StringCompositionProvider();
            cpmProvider.AddComposition(DefaultCompositionName, "[A].[$].[B]-[C]");
            cpmProvider.AddComposition(ConditionalCompositionName, "[C?.]__[$]");

            cpmProvider.AddPartsSet("A", "One");
            cpmProvider.AddPartsSet("A", "Two");
            cpmProvider.AddPartsSet("B", "A");
            cpmProvider.AddPartsSet("B", "B");
            cpmProvider.AddPartsSet("C");

            this.compositionProvider = cpmProvider;
        }
 public CompositionBuilderContext(StringCompositionProvider compositionProvider)
 {
     this.compositionProvider = compositionProvider;
 }
 public static ICompositionBuilderContext New()
 {
     var provider = new StringCompositionProvider();
     return new CompositionBuilderContext(provider);
 }