MCPcopy
hub / github.com/qax-os/excelize / TestDuplicateRowFromSingleRow

Function TestDuplicateRowFromSingleRow

rows_test.go:434–485  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

432}
433
434func TestDuplicateRowFromSingleRow(t *testing.T) {
435 const sheet = "Sheet1"
436 outFile := filepath.Join("test", "TestDuplicateRow.%s.xlsx")
437
438 cells := map[string]string{
439 "A1": "A1 Value",
440 "A2": "A2 Value",
441 "A3": "A3 Value",
442 "B1": "B1 Value",
443 "B2": "B2 Value",
444 "B3": "B3 Value",
445 }
446
447 t.Run("FromSingleRow", func(t *testing.T) {
448 f := NewFile()
449 assert.NoError(t, f.SetCellStr(sheet, "A1", cells["A1"]))
450 assert.NoError(t, f.SetCellStr(sheet, "B1", cells["B1"]))
451
452 assert.NoError(t, f.DuplicateRow(sheet, 1))
453 if !assert.NoError(t, f.SaveAs(fmt.Sprintf(outFile, "FromSingleRow_1"))) {
454 t.FailNow()
455 }
456 expect := map[string]string{
457 "A1": cells["A1"], "B1": cells["B1"],
458 "A2": cells["A1"], "B2": cells["B1"],
459 }
460 for cell, val := range expect {
461 v, err := f.GetCellValue(sheet, cell)
462 assert.NoError(t, err)
463 if !assert.Equal(t, val, v, cell) {
464 t.FailNow()
465 }
466 }
467
468 assert.NoError(t, f.DuplicateRow(sheet, 2))
469 if !assert.NoError(t, f.SaveAs(fmt.Sprintf(outFile, "FromSingleRow_2"))) {
470 t.FailNow()
471 }
472 expect = map[string]string{
473 "A1": cells["A1"], "B1": cells["B1"],
474 "A2": cells["A1"], "B2": cells["B1"],
475 "A3": cells["A1"], "B3": cells["B1"],
476 }
477 for cell, val := range expect {
478 v, err := f.GetCellValue(sheet, cell)
479 assert.NoError(t, err)
480 if !assert.Equal(t, val, v, cell) {
481 t.FailNow()
482 }
483 }
484 })
485}
486
487func TestDuplicateRowUpdateDuplicatedRows(t *testing.T) {
488 const sheet = "Sheet1"

Callers

nothing calls this directly

Calls 5

SetCellStrMethod · 0.95
DuplicateRowMethod · 0.95
SaveAsMethod · 0.95
GetCellValueMethod · 0.95
NewFileFunction · 0.85

Tested by

no test coverage detected