aboutsummaryrefslogtreecommitdiffstats
path: root/core/utils_test.go
diff options
context:
space:
mode:
authorMission Liao <mission.liao@dexon.org>2018-08-30 15:09:15 +0800
committerGitHub <noreply@github.com>2018-08-30 15:09:15 +0800
commit8cb1d5c4f3f7f93d8b2c54addf5c2caced0a1eb8 (patch)
treeb9ea30e61b410557cc87aa4d828c4cb3cf771984 /core/utils_test.go
parent1f34da04eb9d80648349140eb1442cab87ba5cd8 (diff)
downloaddexon-consensus-8cb1d5c4f3f7f93d8b2c54addf5c2caced0a1eb8.tar.gz
dexon-consensus-8cb1d5c4f3f7f93d8b2c54addf5c2caced0a1eb8.tar.zst
dexon-consensus-8cb1d5c4f3f7f93d8b2c54addf5c2caced0a1eb8.zip
core: tune total ordering performance (#81)
- Replace map with slice Compared to slice, accessing to map is slower and the memory usage is inefficient.
Diffstat (limited to 'core/utils_test.go')
-rw-r--r--core/utils_test.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/core/utils_test.go b/core/utils_test.go
new file mode 100644
index 0000000..5d55de3
--- /dev/null
+++ b/core/utils_test.go
@@ -0,0 +1,27 @@
+package core
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/suite"
+)
+
+type UtilsTestSuite struct {
+ suite.Suite
+}
+
+func (s *UtilsTestSuite) TestRemoveFromSortedIntSlice() {
+ // Remove something exists.
+ xs := []int{1, 2, 3, 4, 5}
+ s.Equal(
+ removeFromSortedIntSlice(xs, 3),
+ []int{1, 2, 4, 5})
+ // Remove something not exists.
+ s.Equal(removeFromSortedIntSlice(xs, 6), xs)
+ // Remove from empty slice, should not panic.
+ s.Equal([]int{}, removeFromSortedIntSlice([]int{}, 1))
+}
+
+func TestUtils(t *testing.T) {
+ suite.Run(t, new(UtilsTestSuite))
+}