public void Should_merge_with_different_options(ArrayMergeStyle style) { var sets1 = Array(null, "x1", "x2", "x3"); var sets2 = Array(null, "x1", "x4", "x5"); var merge = sets1.Merge(sets2, new SettingsMergeOptions { ArrayMergeStyle = style }); switch (style) { case ArrayMergeStyle.Replace: case ArrayMergeStyle.PerElement: merge.Children.Select(c => c.Value).Should().Equal("x1", "x4", "x5"); break; case ArrayMergeStyle.Concat: merge.Children.Select(c => c.Value).Should().Equal("x1", "x2", "x3", "x1", "x4", "x5"); break; case ArrayMergeStyle.Union: merge.Children.Select(c => c.Value).Should().Equal("x1", "x2", "x3", "x4", "x5"); break; } }
public void Merge_with_null_should_keep_non_null_node([Values] ArrayMergeStyle mergeStyle) { var node = Array("a", "b", "c"); node.Merge(null, new SettingsMergeOptions { ArrayMergeStyle = mergeStyle }).Should().BeSameAs(node); }