public void TrueStrings()
        {
            var opts = new BooleanConvertOptions(new[] { bool.TrueString, "T", "yes", "t" }, new[] { bool.FalseString });

            Assert.Equal(3, opts.TrueStrings.Count);        // T and t are de-duplicated
            Assert.True(opts.TrueStrings.Contains("YES"));  // Case insensitive
            Assert.True(opts.TrueStrings.Contains("t"));
            Assert.True(opts.TrueStrings.Contains(bool.TrueString));
        }
        public void FalseStrings()
        {
            var opts = new BooleanConvertOptions(new[] { bool.TrueString }, new[] { bool.FalseString, "", "f", "no", "NO" });

            Assert.Equal(4, opts.FalseStrings.Count);                // NO and no are de-duplicated
            Assert.True(opts.FalseStrings.Contains("No"));           // Case insensitive
            Assert.True(opts.FalseStrings.Contains("f"));
            Assert.True(opts.FalseStrings.Contains(string.Empty));   // Empty string works
            Assert.True(opts.FalseStrings.Contains(bool.FalseString));
        }
        private void TestDefault(BooleanConvertOptions opts)
        {
            // Returns a value
            Assert.NotNull(opts);

            // Always the same instance
            Assert.Same(opts, BooleanConvertOptions.Default);

            // Expected configuration
            Assert.Equal(1, opts.TrueStrings.Count);
            Assert.Equal(1, opts.FalseStrings.Count);
            Assert.True(opts.TrueStrings.Contains(bool.TrueString));
            Assert.True(opts.FalseStrings.Contains(bool.FalseString));
        }
Пример #4
0
        public void FromConvertOptions()
        {
            var stringOpts  = new StringConvertOptions(StringAsNullOption.NullReference, TrimStringFlags.None);
            var valOpts     = new ValueTypeConvertOptions(ValueTypeConvertFlags.None);
            var complexOpts = new ComplexNumberConvertOptions(ComplexNumberElement.Real);
            var boolOpts    = new BooleanConvertOptions(new[] { bool.TrueString }, new[] { bool.FalseString });
            var enumOpts    = new EnumConvertOptions(UndefinedValueOption.Throw, UndefinedValueOption.Throw);
            var numberOpts  = new NumberConvertOptions(ParseNumericStringFlags.None);

            var opts = new ConvertOptions(new OptionSet[] { stringOpts, valOpts, complexOpts, boolOpts, enumOpts, numberOpts });

            var builder = ConvertOptionsBuilder.FromConvertOptions(opts);

            Assert.Equal(6, builder.Count());
            Assert.Contains(stringOpts, builder);
            Assert.Contains(valOpts, builder);
            Assert.Contains(complexOpts, builder);
            Assert.Contains(boolOpts, builder);
            Assert.Contains(enumOpts, builder);
            Assert.Contains(numberOpts, builder);
        }
        public void Ctor()
        {
            var opts = new BooleanConvertOptions(new[] { bool.TrueString }, new[] { bool.FalseString });

            Assert.NotNull(opts);
        }
Пример #6
0
 public ConvertOptions(BooleanConvertOptions booleanOptions, EnumConvertOptions enumOptions, NumberConvertOptions numberOptions, StringConvertOptions stringOptions, ValueTypeConvertOptions valueTypeOptions, params OptionSet[] otherOptions);