Skip to content

Commit

Permalink
set: improve ut coverage to 100% (pingcap#10057)
Browse files Browse the repository at this point in the history
  • Loading branch information
zz-jason authored and ngaut committed Apr 7, 2019
1 parent de113b2 commit bd34b28
Show file tree
Hide file tree
Showing 3 changed files with 148 additions and 0 deletions.
47 changes: 47 additions & 0 deletions util/set/float64_set_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
// Copyright 2019 PingCAP, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// See the License for the specific language governing permissions and
// limitations under the License.

package set

import (
"testing"

"github.com/pingcap/check"
)

func TestT(t *testing.T) {
check.TestingT(t)
}

var _ = check.Suite(&float64SetTestSuite{})

type float64SetTestSuite struct{}

func (s *float64SetTestSuite) TestFloat64Set(c *check.C) {
set := NewFloat64Set()
vals := []float64{1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0}
for i := range vals {
set.Insert(vals[i])
set.Insert(vals[i])
set.Insert(vals[i])
set.Insert(vals[i])
set.Insert(vals[i])
}

c.Assert(len(set), check.Equals, len(vals))
for i := range vals {
c.Assert(set.Exist(vals[i]), check.IsTrue)
}

c.Assert(set.Exist(3), check.IsFalse)
}
60 changes: 60 additions & 0 deletions util/set/int_set_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
// Copyright 2019 PingCAP, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// See the License for the specific language governing permissions and
// limitations under the License.

package set

import (
"github.com/pingcap/check"
)

var _ = check.Suite(&intSetTestSuite{})

type intSetTestSuite struct{}

func (s *intSetTestSuite) TestIntSet(c *check.C) {
set := NewIntSet()
vals := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
for i := range vals {
set.Insert(vals[i])
set.Insert(vals[i])
set.Insert(vals[i])
set.Insert(vals[i])
set.Insert(vals[i])
}

c.Assert(len(set), check.Equals, len(vals))
for i := range vals {
c.Assert(set.Exist(vals[i]), check.IsTrue)
}

c.Assert(set.Exist(11), check.IsFalse)
}

func (s *intSetTestSuite) TestInt64Set(c *check.C) {
set := NewInt64Set()
vals := []int64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
for i := range vals {
set.Insert(vals[i])
set.Insert(vals[i])
set.Insert(vals[i])
set.Insert(vals[i])
set.Insert(vals[i])
}

c.Assert(len(set), check.Equals, len(vals))
for i := range vals {
c.Assert(set.Exist(vals[i]), check.IsTrue)
}

c.Assert(set.Exist(11), check.IsFalse)
}
41 changes: 41 additions & 0 deletions util/set/string_set_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
// Copyright 2019 PingCAP, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// See the License for the specific language governing permissions and
// limitations under the License.

package set

import (
"github.com/pingcap/check"
)

var _ = check.Suite(&stringSetTestSuite{})

type stringSetTestSuite struct{}

func (s *stringSetTestSuite) TestStringSet(c *check.C) {
set := NewStringSet()
vals := []string{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"}
for i := range vals {
set.Insert(vals[i])
set.Insert(vals[i])
set.Insert(vals[i])
set.Insert(vals[i])
set.Insert(vals[i])
}

c.Assert(len(set), check.Equals, len(vals))
for i := range vals {
c.Assert(set.Exist(vals[i]), check.IsTrue)
}

c.Assert(set.Exist("11"), check.IsFalse)
}

0 comments on commit bd34b28

Please sign in to comment.