104 lines
2.6 KiB
Go
104 lines
2.6 KiB
Go
package tree
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
const result = `(0.00 KB) /
|
|
├──(0.00 KB) i1
|
|
│ ├──(0.00 KB) i1s1
|
|
│ │ ├──(0.00 KB) i1s1b1
|
|
│ │ ├──(0.00 KB) i1s1b2
|
|
│ │ └──(0.00 KB) i1s1b3
|
|
│ ├──(0.00 KB) i1s2
|
|
│ │ ├──(0.00 KB) i1s2b1
|
|
│ │ └──(0.00 KB) i1s2b2
|
|
│ ├──(0.00 KB) i1s3
|
|
│ │ ├──(0.00 KB) i1s3s1
|
|
│ │ │ ├──(0.00 KB) i1s3s1b1
|
|
│ │ │ ├──(0.00 KB) i1s3s1b2
|
|
│ │ │ └──(0.00 KB) i1s3s1b3
|
|
│ │ └──(0.00 KB) i1s3b1
|
|
│ └──(0.00 KB) i1s4
|
|
│ └──(0.00 KB) i1s4b1
|
|
├──(0.00 KB) i2
|
|
│ ├──(0.00 KB) i2b1
|
|
│ └──(0.00 KB) i2b2
|
|
└──(0.00 KB) i3
|
|
├──(0.00 KB) i3s1
|
|
│ └──(0.00 KB) i3s1b1
|
|
├──(0.00 KB) i3s2
|
|
│ ├──(0.00 KB) i3s2b1
|
|
│ └──(0.00 KB) i3s2b2
|
|
└──(0.00 KB) i3s3
|
|
└──(0.00 KB) i3s3b1
|
|
`
|
|
|
|
func createTree() *Top {
|
|
t := NewTop("/")
|
|
t.SetUnit("KB")
|
|
i1 := t.newIntermediate("i1")
|
|
i2 := t.newIntermediate("i2")
|
|
i3 := t.newIntermediate("i3")
|
|
i1s1 := i1.newIntermediate("i1s1")
|
|
i1s2 := i1.newIntermediate("i1s2")
|
|
i1s3 := i1.newIntermediate("i1s3")
|
|
i1s4 := i1.newIntermediate("i1s4")
|
|
i3s1 := i3.newIntermediate("i3s1")
|
|
i3s2 := i3.newIntermediate("i3s2")
|
|
i3s3 := i3.newIntermediate("i3s3")
|
|
_ = i1s1.newBottom("i1s1b1")
|
|
_ = i1s1.newBottom("i1s1b2")
|
|
_ = i1s1.newBottom("i1s1b3")
|
|
_ = i1s2.newBottom("i1s2b1")
|
|
_ = i1s2.newBottom("i1s2b2")
|
|
i1s3s1 := i1s3.newIntermediate("i1s3s1")
|
|
_ = i1s3.newBottom("i1s3b1")
|
|
_ = i1s4.newBottom("i1s4b1")
|
|
_ = i2.newBottom("i2b1")
|
|
_ = i2.newBottom("i2b2")
|
|
_ = i3s1.newBottom("i3s1b1")
|
|
_ = i3s2.newBottom("i3s2b1")
|
|
_ = i3s2.newBottom("i3s2b2")
|
|
_ = i3s3.newBottom("i3s3b1")
|
|
_ = i1s3s1.newBottom("i1s3s1b1")
|
|
_ = i1s3s1.newBottom("i1s3s1b2")
|
|
_ = i1s3s1.newBottom("i1s3s1b3")
|
|
|
|
return t
|
|
}
|
|
|
|
func TestString(t *testing.T) {
|
|
tree := createTree()
|
|
repr := fmt.Sprintf("%s", tree)
|
|
if repr != result {
|
|
t.Errorf("repr:\n%s\n\nresult:\n%s", repr, result)
|
|
}
|
|
}
|
|
|
|
func TestSize(t *testing.T) {
|
|
root := NewTop(".")
|
|
i := NewIntermediate("i", root)
|
|
b := NewBottom("b", i)
|
|
go func() {
|
|
ch := b.Collector()
|
|
ch <- 1024
|
|
}()
|
|
go b.Collect()
|
|
go i.Collect()
|
|
go root.Collect()
|
|
|
|
time.Sleep(time.Second)
|
|
|
|
if bsize := b.Size(); bsize != 1024 {
|
|
t.Errorf("b -> wrong size: %d\n", bsize)
|
|
}
|
|
if isize := i.Size(); isize != 1024 {
|
|
t.Errorf("i -> wrong size: %d\n", isize)
|
|
}
|
|
if tsize := root.Size(); tsize != 1024 {
|
|
t.Errorf("t -> wrong size: %d\n", tsize)
|
|
}
|
|
}
|