WriterTests.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. using ExcelORM;
  2. namespace ExcelORMTests;
  3. public class WriterTests
  4. {
  5. private readonly Test[] arrayOfThree =
  6. {
  7. new Test { Name = "Bilbo", Surname = "Baggins", Job = "Eater"},
  8. new Test { Name = "John", Surname = "McCain", Job = "Policeman"},
  9. new Test { Name = "Bruce", Surname = "Lee", Job = "Fighter"}
  10. };
  11. private readonly List<Test> listOfTwo = new()
  12. {
  13. new Test { Name = "Elon", Surname = "Musk", Job = "Comedian"},
  14. new Test { Name = "Donald", Surname = "Trump", Job = "Bankrupt"},
  15. };
  16. [Fact]
  17. public void WriteWithAppend()
  18. {
  19. var testFile = Path.GetRandomFileName();
  20. testFile = Path.ChangeExtension(testFile, "xlsx");
  21. const string worksheetName = "Test";
  22. var writer = new ExcelWriter(testFile);
  23. writer.Write(arrayOfThree, worksheetName);
  24. writer.SaveAs(testFile);
  25. var reader = new ExcelReader(testFile);
  26. Assert.Equal(3, reader.Read<Test>(worksheetName).Count());
  27. writer.Write(listOfTwo, worksheetName, true);
  28. writer.SaveAs(testFile);
  29. reader = new ExcelReader(testFile);
  30. Assert.Equal(5, reader.Read<Test>(worksheetName).Count());
  31. File.Delete(testFile);
  32. }
  33. [Fact]
  34. public void WriteWithAppendWithoutName()
  35. {
  36. var testFile = Path.GetRandomFileName();
  37. testFile = Path.ChangeExtension(testFile, "xlsx");
  38. var writer = new ExcelWriter(testFile);
  39. writer.Write(arrayOfThree);
  40. writer.SaveAs(testFile);
  41. var reader = new ExcelReader(testFile);
  42. Assert.Equal(3, reader.Read<Test>().Count());
  43. writer.Write(listOfTwo, append: true);
  44. writer.SaveAs(testFile);
  45. reader = new ExcelReader(testFile);
  46. Assert.Equal(5, reader.Read<Test>().Count());
  47. File.Delete(testFile);
  48. }
  49. [Fact]
  50. public void WriteDifferentTypes()
  51. {
  52. var testFile = Path.GetRandomFileName();
  53. testFile = Path.ChangeExtension(testFile, "xlsx");
  54. var expected = new TestTypes
  55. {
  56. Date = DateTime.Now,
  57. TimeSpan = TimeSpan.MaxValue,
  58. Double = 2.33,
  59. Int = 1024,
  60. Text = "Test"
  61. };
  62. var list = new List<TestTypes>{ expected };
  63. var writer = new ExcelWriter(testFile);
  64. writer.Write(list);
  65. writer.SaveAs(testFile);
  66. var reader = new ExcelReader(testFile);
  67. var result = reader.Read<TestTypes>().ToList();
  68. Assert.Single(result);
  69. var first = result.First();
  70. Assert.Equal(expected.Date.ToString(), first.Date.ToString());
  71. Assert.Equal(expected.TimeSpan, first.TimeSpan);
  72. Assert.Equal(expected.Double, first.Double);
  73. Assert.Equal(expected.Int, first.Int);
  74. Assert.Equal(expected.Text, first.Text);
  75. File.Delete(testFile);
  76. }
  77. }