NServiceBus.AcceptanceTesting.Support.RunDescriptor.Merge C# (CSharp) Method

Merge() public method

public Merge ( RunDescriptor descriptorToAdd ) : void
descriptorToAdd RunDescriptor
return void
        public void Merge(RunDescriptor descriptorToAdd)
        {
            Key += "." + descriptorToAdd.Key;

            Settings.Merge(descriptorToAdd.Settings);
        }
    }

Usage Example

        public RunDescriptorsBuilder For(params RunDescriptor[] descriptorsToAdd)
        {
            var toAdd = descriptorsToAdd.Where(r => r != null).ToList();

            if (!toAdd.Any())
            {
                emptyPermutationFound = true;
            }

            if (!descriptors.Any())
            {
                descriptors = toAdd;
                return(this);
            }


            var result = new List <RunDescriptor>();

            foreach (var existingDescriptor in descriptors)
            {
                foreach (var descriptorToAdd in toAdd)
                {
                    var nd = new RunDescriptor(existingDescriptor);
                    nd.Merge(descriptorToAdd);
                    result.Add(nd);
                }
            }


            descriptors = result;

            return(this);
        }