summaryrefslogtreecommitdiff
path: root/pkg/rbtree/print_test.go
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2022-06-30 01:58:00 -0600
committerLuke Shumaker <lukeshu@lukeshu.com>2022-06-30 01:58:32 -0600
commitbc2645b50c1f19514861b485e08f62ccb1602590 (patch)
tree9a2f244d949dbc6837fbe8b9febfb28463f6039e /pkg/rbtree/print_test.go
parent0f196fa9c2908a7ea9b2114a9119707df8880328 (diff)
fix2
Diffstat (limited to 'pkg/rbtree/print_test.go')
-rw-r--r--pkg/rbtree/print_test.go15
1 files changed, 13 insertions, 2 deletions
diff --git a/pkg/rbtree/print_test.go b/pkg/rbtree/print_test.go
index c4154c8..3e37cf2 100644
--- a/pkg/rbtree/print_test.go
+++ b/pkg/rbtree/print_test.go
@@ -12,6 +12,17 @@ func (t *Tree[K, V]) ASCIIArt() string {
return out.String()
}
+func (node *Node[V]) String() string {
+ switch {
+ case node == nil:
+ return "nil"
+ case node.Color == Red:
+ return fmt.Sprintf("R(%v)", node.Value)
+ default:
+ return fmt.Sprintf("B(%v)", node.Value)
+ }
+}
+
func (node *Node[V]) asciiArt(w io.Writer, u, m, l string) {
if node == nil {
fmt.Fprintf(w, "%snil\n", m)
@@ -21,9 +32,9 @@ func (node *Node[V]) asciiArt(w io.Writer, u, m, l string) {
node.Right.asciiArt(w, u+" ", u+" ,--", u+" | ")
if node.Color == Red {
- fmt.Fprintf(w, "%sR(%v)\n", m, node.Value)
+ fmt.Fprintf(w, "%s%v\n", m, node)
} else {
- fmt.Fprintf(w, "%sB(%v)\n", m, node.Value)
+ fmt.Fprintf(w, "%s%v\n", m, node)
}
node.Left.asciiArt(w, l+" | ", l+" `--", l+" ")