Пример #1
0
        public void ConvertFromExcelTest()
        {
            var converter            = new BooleanConverter();
            var typeConverterOptions = new TypeConverterOptions {
                CultureInfo = CultureInfo.CurrentCulture,
            };

            Assert.IsTrue((bool)converter.ConvertFromExcel(typeConverterOptions, true));
            Assert.IsTrue((bool)converter.ConvertFromExcel(typeConverterOptions, "true"));
            Assert.IsTrue((bool)converter.ConvertFromExcel(typeConverterOptions, "True"));
            Assert.IsTrue((bool)converter.ConvertFromExcel(typeConverterOptions, "TRUE"));
            Assert.IsTrue((bool)converter.ConvertFromExcel(typeConverterOptions, 1.0));
            Assert.IsTrue((bool)converter.ConvertFromExcel(typeConverterOptions, "1"));
            Assert.IsTrue((bool)converter.ConvertFromExcel(typeConverterOptions, "yes"));
            Assert.IsTrue((bool)converter.ConvertFromExcel(typeConverterOptions, "YES"));
            Assert.IsTrue((bool)converter.ConvertFromExcel(typeConverterOptions, "y"));
            Assert.IsTrue((bool)converter.ConvertFromExcel(typeConverterOptions, "Y"));
            Assert.IsTrue((bool)converter.ConvertFromExcel(typeConverterOptions, " true "));
            Assert.IsTrue((bool)converter.ConvertFromExcel(typeConverterOptions, " yes "));
            Assert.IsTrue((bool)converter.ConvertFromExcel(typeConverterOptions, " y "));

            Assert.IsFalse((bool)converter.ConvertFromExcel(typeConverterOptions, false));
            Assert.IsFalse((bool)converter.ConvertFromExcel(typeConverterOptions, "false"));
            Assert.IsFalse((bool)converter.ConvertFromExcel(typeConverterOptions, "False"));
            Assert.IsFalse((bool)converter.ConvertFromExcel(typeConverterOptions, "FALSE"));
            Assert.IsFalse((bool)converter.ConvertFromExcel(typeConverterOptions, 0.0));
            Assert.IsFalse((bool)converter.ConvertFromExcel(typeConverterOptions, "0"));
            Assert.IsFalse((bool)converter.ConvertFromExcel(typeConverterOptions, "no"));
            Assert.IsFalse((bool)converter.ConvertFromExcel(typeConverterOptions, "NO"));
            Assert.IsFalse((bool)converter.ConvertFromExcel(typeConverterOptions, "n"));
            Assert.IsFalse((bool)converter.ConvertFromExcel(typeConverterOptions, "N"));
            Assert.IsFalse((bool)converter.ConvertFromExcel(typeConverterOptions, " false "));
            Assert.IsFalse((bool)converter.ConvertFromExcel(typeConverterOptions, " 0 "));
            Assert.IsFalse((bool)converter.ConvertFromExcel(typeConverterOptions, " no "));
            Assert.IsFalse((bool)converter.ConvertFromExcel(typeConverterOptions, " n "));

            try {
                converter.ConvertFromExcel(typeConverterOptions, null);
                Assert.Fail();
            } catch (ExcelTypeConverterException) {
            }

            try {
                converter.ConvertFromExcel(typeConverterOptions, "unknown");
                Assert.Fail();
            } catch (ExcelTypeConverterException) {
            }

            // Make sure null converts properly if we allow blank
            typeConverterOptions = new TypeConverterOptions {
                CultureInfo        = CultureInfo.CurrentCulture,
                BooleanFalseValues = { "", "no", "false", "n" },
            };
            Assert.IsFalse((bool)converter.ConvertFromExcel(typeConverterOptions, ""));
            Assert.IsFalse((bool)converter.ConvertFromExcel(typeConverterOptions, null));
        }