github.com/Finschia/finschia-sdk@v0.48.1/store/types/pruning_test.go (about) 1 package types 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 ) 8 9 func TestPruningOptions_Validate(t *testing.T) { 10 testCases := []struct { 11 keepRecent uint64 12 keepEvery uint64 13 interval uint64 14 expectErr bool 15 }{ 16 {100, 500, 10, false}, // default 17 {0, 0, 10, false}, // everything 18 {0, 1, 0, false}, // nothing 19 {0, 10, 10, false}, 20 {100, 0, 0, true}, // invalid interval 21 {0, 1, 5, true}, // invalid interval 22 } 23 24 for _, tc := range testCases { 25 po := NewPruningOptions(tc.keepRecent, tc.keepEvery, tc.interval) 26 err := po.Validate() 27 require.Equal(t, tc.expectErr, err != nil, "options: %v, err: %s", po, err) 28 } 29 }