public void Ctor_ReplaceOptions() { // Second ComplexNumberConvertOptions should replace the first var complexOptions1 = new ComplexNumberConvertOptions(ComplexNumberElement.Real); var complexOptions2 = new ComplexNumberConvertOptions(ComplexNumberElement.Imaginary); var options = new OptionSet[] { BooleanConvertOptions.Default, EnumConvertOptions.Default, complexOptions1 }; var builder1 = new ConvertOptionsBuilder(options, null); var builder = new ConvertOptionsBuilder(builder1, complexOptions2); Assert.NotNull(builder); Assert.Contains(BooleanConvertOptions.Default, builder); Assert.Contains(EnumConvertOptions.Default, builder); Assert.DoesNotContain(complexOptions1, builder); Assert.Contains(complexOptions2, builder); Assert.Equal(3, builder.Count()); }
// allows build.WithComplexNumberOptions(...) public static ConvertOptionsBuilder WithComplexNumberOptions( this ConvertOptionsBuilder builder, ComplexNumberElement convertToFlags ) => builder.WithOptions(new ComplexNumberConvertOptions(convertToFlags));