WriterTests.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. using ExcelORM;
  2. namespace ExcelORMTests;
  3. public class WriterTests
  4. {
  5. private readonly Test[] arrayOfThree =
  6. {
  7. new() { Name = "Bilbo", Surname = "Baggins", Job = "Eater"},
  8. new() { Name = "John", Job = "Policeman"},
  9. new() { 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. var readArray = reader.Read<Test>(worksheetName).ToArray();
  27. Assert.Equal(3, readArray.Length);
  28. for (int i = 0; i < readArray.Length; i++)
  29. Assert.Equal(arrayOfThree[i], readArray[i]);
  30. writer.Write(listOfTwo, worksheetName, true);
  31. writer.SaveAs(testFile);
  32. reader = new ExcelReader(testFile);
  33. Assert.Equal(5, reader.Read<Test>(worksheetName).Count());
  34. File.Delete(testFile);
  35. }
  36. [Fact]
  37. public void WriteWithAppendWithoutName()
  38. {
  39. var testFile = Path.GetRandomFileName();
  40. testFile = Path.ChangeExtension(testFile, "xlsx");
  41. var writer = new ExcelWriter(testFile);
  42. writer.Write(arrayOfThree);
  43. writer.SaveAs(testFile);
  44. var reader = new ExcelReader(testFile);
  45. Assert.Equal(3, reader.Read<Test>().Count());
  46. writer.Write(listOfTwo, append: true);
  47. writer.SaveAs(testFile);
  48. reader = new ExcelReader(testFile);
  49. Assert.Equal(5, reader.Read<Test>().Count());
  50. File.Delete(testFile);
  51. }
  52. [Fact]
  53. public void WriteDifferentTypes()
  54. {
  55. var testFile = Path.GetRandomFileName();
  56. testFile = Path.ChangeExtension(testFile, "xlsx");
  57. var expected = new TestTypes
  58. {
  59. Date = DateTime.Now,
  60. TimeSpan = TimeSpan.MaxValue,
  61. Double = 2.33,
  62. Int = 1024,
  63. Text = "Test"
  64. };
  65. var list = new List<TestTypes>{ expected };
  66. var writer = new ExcelWriter(testFile);
  67. writer.Write(list);
  68. writer.SaveAs(testFile);
  69. var reader = new ExcelReader(testFile);
  70. var result = reader.Read<TestTypes>().ToList();
  71. Assert.Single(result);
  72. var first = result.First();
  73. Assert.Equal(expected.Date.ToString(), first.Date.ToString());
  74. Assert.Equal(expected.TimeSpan, first.TimeSpan);
  75. Assert.Equal(expected.Double, first.Double);
  76. Assert.Equal(expected.Int, first.Int);
  77. Assert.Equal(expected.Text, first.Text);
  78. File.Delete(testFile);
  79. }
  80. }