mirror of
https://github.com/gopasspw/gopass.git
synced 2025-12-08 19:24:54 +00:00
* [chore] Add more test coverage Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org> * Fix lint issues Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org> * Fix assert.Len invocation Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org> --------- Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
82 lines
1.5 KiB
Go
82 lines
1.5 KiB
Go
package tree
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestTree(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
t1 := NewTree()
|
|
t2 := NewTree()
|
|
|
|
assert.True(t, t1.Equals(t2))
|
|
|
|
_ = t1.Insert(&Node{Name: "foo"})
|
|
assert.False(t, t1.Equals(t2))
|
|
|
|
_ = t2.Insert(&Node{Name: "foo"})
|
|
assert.True(t, t1.Equals(t2))
|
|
}
|
|
|
|
func TestTreeInsert(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
tree := NewTree()
|
|
node := &Node{Name: "foo"}
|
|
|
|
insertedNode := tree.Insert(node)
|
|
assert.Equal(t, node, insertedNode)
|
|
assert.Len(t, tree.Nodes, 1)
|
|
assert.Equal(t, "foo", tree.Nodes[0].Name)
|
|
}
|
|
|
|
func TestTreeString(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
tree := NewTree()
|
|
assert.Equal(t, "Tree<0 nodes>", tree.String())
|
|
|
|
tree.Insert(&Node{Name: "foo"})
|
|
assert.Equal(t, "Tree<1 nodes>", tree.String())
|
|
}
|
|
|
|
func TestTreeSort(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
tree := NewTree()
|
|
tree.Insert(&Node{Name: "foo"})
|
|
tree.Insert(&Node{Name: "bar"})
|
|
tree.Insert(&Node{Name: "baz"})
|
|
|
|
tree.Sort()
|
|
|
|
assert.Equal(t, "bar", tree.Nodes[0].Name)
|
|
assert.Equal(t, "baz", tree.Nodes[1].Name)
|
|
assert.Equal(t, "foo", tree.Nodes[2].Name)
|
|
}
|
|
|
|
func TestTreeFindPositionFor(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
tree := NewTree()
|
|
tree.Insert(&Node{Name: "foo"})
|
|
tree.Insert(&Node{Name: "bar"})
|
|
|
|
pos, node := tree.findPositionFor("foo")
|
|
assert.Equal(t, 1, pos)
|
|
assert.NotNil(t, node)
|
|
assert.Equal(t, "foo", node.Name)
|
|
|
|
pos, node = tree.findPositionFor("bar")
|
|
assert.Equal(t, 0, pos)
|
|
assert.NotNil(t, node)
|
|
|
|
// does not exist
|
|
pos, node = tree.findPositionFor("baz")
|
|
assert.Equal(t, 1, pos)
|
|
assert.Nil(t, node)
|
|
}
|