write_test.go 764 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package xlsx
  2. import (
  3. . "gopkg.in/check.v1"
  4. )
  5. type WriteSuite struct{}
  6. var _ = Suite(&WriteSuite{})
  7. // Test if we can write a struct to a row
  8. func (r *RowSuite) TestWriteStruct(c *C) {
  9. var f *File
  10. f = NewFile()
  11. sheet := f.AddSheet("Test1")
  12. row := sheet.AddRow()
  13. type e struct {
  14. FirstName string
  15. Age int
  16. GPA float64
  17. LikesPHP bool
  18. }
  19. testStruct := e{
  20. "Eric",
  21. 20,
  22. 3.94,
  23. false,
  24. }
  25. row.WriteStruct(&testStruct, -1)
  26. c.Assert(row, NotNil)
  27. c0 := row.Cells[0].String()
  28. c1, e1 := row.Cells[1].Int()
  29. c2, e2 := row.Cells[2].Float()
  30. c3 := row.Cells[3].Bool()
  31. c.Assert(c0, Equals, "Eric")
  32. c.Assert(c1, Equals, 20)
  33. c.Assert(c2, Equals, 3.94)
  34. c.Assert(c3, Equals, false)
  35. c.Assert(e1, Equals, nil)
  36. c.Assert(e2, Equals, nil)
  37. }