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