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)); }