ReaderTests.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. using ExcelORM;
  2. namespace ExcelORMTests;
  3. public class ReaderTests
  4. {
  5. private const string RegularFile = "testFiles/first.xlsx";
  6. private const string HiddenFile = "testFiles/hidden.xlsx";
  7. private const string FilteredFile = "testFiles/filtered.xlsx";
  8. private const string DifficultFile = "testFiles/columnsOnTheLeftHeaderNotFirstRow.xlsx";
  9. private const string MultipleSheetsFile = "testFiles/multipleSheets.xlsx";
  10. private const string DifferentTypesFile = "testFiles/differentTypes.xlsx";
  11. [Fact]
  12. public void Read()
  13. {
  14. var reader = new ExcelReader(RegularFile);
  15. var results = reader.Read<Test>().ToArray();
  16. Assert.NotEmpty(results);
  17. }
  18. [Fact]
  19. public void ReadHidden()
  20. {
  21. var reader = new ExcelReader(HiddenFile);
  22. var results = reader.Read<Test>().ToArray();
  23. Assert.NotEmpty(results);
  24. var readerHidden = new ExcelReader(HiddenFile) { SkipHidden = true };
  25. var resultsHidden = readerHidden.Read<Test>().ToArray();
  26. Assert.NotEmpty(resultsHidden);
  27. Assert.NotEqual(results.Length, resultsHidden.Length);
  28. }
  29. [Fact]
  30. public void ReadFiltered()
  31. {
  32. var reader = new ExcelReader(FilteredFile);
  33. var results = reader.Read<Test>().ToArray();
  34. Assert.NotEmpty(results);
  35. var readerFiltered = new ExcelReader(FilteredFile) { ObeyFilter = true };
  36. var resultsFiltered = readerFiltered.Read<Test>().ToArray();
  37. Assert.NotEmpty(resultsFiltered);
  38. Assert.NotEqual(results.Length, resultsFiltered.Length);
  39. }
  40. [Fact]
  41. public void ReadDifficult()
  42. {
  43. var reader = new ExcelReader(DifficultFile);
  44. var results = reader.Read<Test>("Tab").ToArray();
  45. Assert.NotEmpty(results);
  46. var resultsWithTitle = reader.Read<Test>("WithTitle", startFrom: 2).ToArray();
  47. Assert.Equal(results.Length, resultsWithTitle.Length);
  48. var resultsBadHeader = reader.Read<Test>("BadHeader").ToArray();
  49. Assert.Empty(resultsBadHeader);
  50. }
  51. [Fact]
  52. public void ReadMultipleSheets()
  53. {
  54. var reader = new ExcelReader(MultipleSheetsFile);
  55. var results = reader.ReadAll<Test>().ToArray();
  56. Assert.NotEmpty(results);
  57. Assert.Equal(6, results.Length);
  58. }
  59. [Fact]
  60. public void ReadDifferentTypes()
  61. {
  62. var reader = new ExcelReader(DifferentTypesFile);
  63. var results = reader.Read<TestTypes>().ToArray();
  64. Assert.NotEmpty(results);
  65. }
  66. }