diff options
Diffstat (limited to 'sheetpr_test.go')
-rw-r--r-- | sheetpr_test.go | 133 |
1 files changed, 69 insertions, 64 deletions
diff --git a/sheetpr_test.go b/sheetpr_test.go index d9f5059..22dbd42 100644 --- a/sheetpr_test.go +++ b/sheetpr_test.go @@ -2,11 +2,12 @@ package excelize_test import ( "fmt" - "reflect" "testing" - "github.com/360EntSecGroup-Skylar/excelize" "github.com/mohae/deepcopy" + "github.com/stretchr/testify/assert" + + "github.com/360EntSecGroup-Skylar/excelize" ) var _ = []excelize.SheetPrOption{ @@ -86,7 +87,8 @@ func ExampleFile_GetSheetPrOptions() { func TestSheetPrOptions(t *testing.T) { const sheet = "Sheet1" - for _, test := range []struct { + + testData := []struct { container excelize.SheetPrOptionPtr nonDefault excelize.SheetPrOption }{ @@ -96,66 +98,69 @@ func TestSheetPrOptions(t *testing.T) { {new(excelize.FitToPage), excelize.FitToPage(true)}, {new(excelize.AutoPageBreaks), excelize.AutoPageBreaks(true)}, {new(excelize.OutlineSummaryBelow), excelize.OutlineSummaryBelow(false)}, - } { - opt := test.nonDefault - t.Logf("option %T", opt) - - def := deepcopy.Copy(test.container).(excelize.SheetPrOptionPtr) - val1 := deepcopy.Copy(def).(excelize.SheetPrOptionPtr) - val2 := deepcopy.Copy(def).(excelize.SheetPrOptionPtr) - - xl := excelize.NewFile() - // Get the default value - if err := xl.GetSheetPrOptions(sheet, def); err != nil { - t.Fatalf("%T: %s", opt, err) - } - // Get again and check - if err := xl.GetSheetPrOptions(sheet, val1); err != nil { - t.Fatalf("%T: %s", opt, err) - } - if !reflect.DeepEqual(val1, def) { - t.Fatalf("%T: value should not have changed", opt) - } - // Set the same value - if err := xl.SetSheetPrOptions(sheet, val1); err != nil { - t.Fatalf("%T: %s", opt, err) - } - // Get again and check - if err := xl.GetSheetPrOptions(sheet, val1); err != nil { - t.Fatalf("%T: %s", opt, err) - } - if !reflect.DeepEqual(val1, def) { - t.Fatalf("%T: value should not have changed", opt) - } - - // Set a different value - if err := xl.SetSheetPrOptions(sheet, test.nonDefault); err != nil { - t.Fatalf("%T: %s", opt, err) - } - if err := xl.GetSheetPrOptions(sheet, val1); err != nil { - t.Fatalf("%T: %s", opt, err) - } - // Get again and compare - if err := xl.GetSheetPrOptions(sheet, val2); err != nil { - t.Fatalf("%T: %s", opt, err) - } - if !reflect.DeepEqual(val2, val1) { - t.Fatalf("%T: value should not have changed", opt) - } - // Value should not be the same as the default - if reflect.DeepEqual(val1, def) { - t.Fatalf("%T: value should have changed from default", opt) - } - - // Restore the default value - if err := xl.SetSheetPrOptions(sheet, def); err != nil { - t.Fatalf("%T: %s", opt, err) - } - if err := xl.GetSheetPrOptions(sheet, val1); err != nil { - t.Fatalf("%T: %s", opt, err) - } - if !reflect.DeepEqual(val1, def) { - t.Fatalf("%T: value should now be the same as default", opt) - } + } + + for i, test := range testData { + t.Run(fmt.Sprintf("TestData%d", i), func(t *testing.T) { + + opt := test.nonDefault + t.Logf("option %T", opt) + + def := deepcopy.Copy(test.container).(excelize.SheetPrOptionPtr) + val1 := deepcopy.Copy(def).(excelize.SheetPrOptionPtr) + val2 := deepcopy.Copy(def).(excelize.SheetPrOptionPtr) + + xl := excelize.NewFile() + // Get the default value + if !assert.NoError(t, xl.GetSheetPrOptions(sheet, def), opt) { + t.FailNow() + } + // Get again and check + if !assert.NoError(t, xl.GetSheetPrOptions(sheet, val1), opt) { + t.FailNow() + } + if !assert.Equal(t, val1, def, opt) { + t.FailNow() + } + // Set the same value + if !assert.NoError(t, xl.SetSheetPrOptions(sheet, val1), opt) { + t.FailNow() + } + // Get again and check + if !assert.NoError(t, xl.GetSheetPrOptions(sheet, val1), opt) { + t.FailNow() + } + if !assert.Equal(t, val1, def, "%T: value should not have changed", opt) { + t.FailNow() + } + // Set a different value + if !assert.NoError(t, xl.SetSheetPrOptions(sheet, test.nonDefault), opt) { + t.FailNow() + } + if !assert.NoError(t, xl.GetSheetPrOptions(sheet, val1), opt) { + t.FailNow() + } + // Get again and compare + if !assert.NoError(t, xl.GetSheetPrOptions(sheet, val2), opt) { + t.FailNow() + } + if !assert.Equal(t, val1, val2, "%T: value should not have changed", opt) { + t.FailNow() + } + // Value should not be the same as the default + if !assert.NotEqual(t, def, val1, "%T: value should have changed from default", opt) { + t.FailNow() + } + // Restore the default value + if !assert.NoError(t, xl.SetSheetPrOptions(sheet, def), opt) { + t.FailNow() + } + if !assert.NoError(t, xl.GetSheetPrOptions(sheet, val1), opt) { + t.FailNow() + } + if !assert.Equal(t, def, val1) { + t.FailNow() + } + }) } } |