mirror of https://github.com/ethereum/go-ethereum
parent
6ceb253f74
commit
ee6531c5ff
@ -1,29 +0,0 @@ |
|||||||
package whisper |
|
||||||
|
|
||||||
import ( |
|
||||||
"sort" |
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/common" |
|
||||||
) |
|
||||||
|
|
||||||
type sortedKeys struct { |
|
||||||
k []int32 |
|
||||||
} |
|
||||||
|
|
||||||
func (self *sortedKeys) Len() int { return len(self.k) } |
|
||||||
func (self *sortedKeys) Less(i, j int) bool { return self.k[i] < self.k[j] } |
|
||||||
func (self *sortedKeys) Swap(i, j int) { self.k[i], self.k[j] = self.k[j], self.k[i] } |
|
||||||
|
|
||||||
func sortKeys(m map[int32]common.Hash) []int32 { |
|
||||||
sorted := new(sortedKeys) |
|
||||||
sorted.k = make([]int32, len(m)) |
|
||||||
i := 0 |
|
||||||
for key, _ := range m { |
|
||||||
sorted.k[i] = key |
|
||||||
i++ |
|
||||||
} |
|
||||||
|
|
||||||
sort.Sort(sorted) |
|
||||||
|
|
||||||
return sorted.k |
|
||||||
} |
|
@ -1,23 +0,0 @@ |
|||||||
package whisper |
|
||||||
|
|
||||||
import ( |
|
||||||
"testing" |
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/common" |
|
||||||
) |
|
||||||
|
|
||||||
func TestSorting(t *testing.T) { |
|
||||||
m := map[int32]common.Hash{ |
|
||||||
1: {1}, |
|
||||||
3: {3}, |
|
||||||
2: {2}, |
|
||||||
5: {5}, |
|
||||||
} |
|
||||||
exp := []int32{1, 2, 3, 5} |
|
||||||
res := sortKeys(m) |
|
||||||
for i, k := range res { |
|
||||||
if k != exp[i] { |
|
||||||
t.Error(k, "failed. Expected", exp[i]) |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue