예제 #1
0
        public void ReadRow_AutoMappedNullableEnum_ReturnsExpected()
        {
            using (var importer = Helpers.GetImporter("Enums.xlsx"))
            {
                ExcelSheet sheet = importer.ReadSheet();
                sheet.ReadHeading();

                // Valid cell value.
                NullableEnumValue row1 = sheet.ReadRow <NullableEnumValue>();
                Assert.Equal(TestEnum.Member, row1.Value);

                // Empty cell value.
                NullableEnumValue row2 = sheet.ReadRow <NullableEnumValue>();
                Assert.Null(row2.Value);

                // Invalid cell value.
                Assert.Throws <ExcelMappingException>(() => sheet.ReadRow <NullableEnumValue>());
            }
        }
예제 #2
0
        public void ReadRow_NullableEnumWithCustomFallback_ReturnsExpected()
        {
            using (var importer = Helpers.GetImporter("Enums.xlsx"))
            {
                importer.Configuration.RegisterClassMap <NullableEnumValueFallbackMap>();

                ExcelSheet sheet = importer.ReadSheet();
                sheet.ReadHeading();

                // Valid cell value.
                NullableEnumValue row1 = sheet.ReadRow <NullableEnumValue>();
                Assert.Equal(TestEnum.Member, row1.Value);

                // Empty cell value.
                NullableEnumValue row2 = sheet.ReadRow <NullableEnumValue>();
                Assert.Equal(TestEnum.Empty, row2.Value);

                // Invalid cell value.
                NullableEnumValue row3 = sheet.ReadRow <NullableEnumValue>();
                Assert.Equal(TestEnum.Invalid, row3.Value);
            }
        }