aboutsummaryrefslogtreecommitdiff
path: root/src/weed/topology/node_list_test.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2013-02-10 03:09:26 -0800
committerChris Lu <chris.lu@gmail.com>2013-02-10 03:09:26 -0800
commitcb4e8ec16b5c204718f1efdc1731f1bdd5698ff3 (patch)
tree47f27040c3d80e6849932bf2acf54b68c930f72b /src/weed/topology/node_list_test.go
parentd3b267bac27018b7f70dfec7c258d0556fff4c14 (diff)
downloadseaweedfs-cb4e8ec16b5c204718f1efdc1731f1bdd5698ff3.tar.xz
seaweedfs-cb4e8ec16b5c204718f1efdc1731f1bdd5698ff3.zip
re-organize code directory structure
Diffstat (limited to 'src/weed/topology/node_list_test.go')
-rw-r--r--src/weed/topology/node_list_test.go39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/weed/topology/node_list_test.go b/src/weed/topology/node_list_test.go
new file mode 100644
index 000000000..2fb4fa970
--- /dev/null
+++ b/src/weed/topology/node_list_test.go
@@ -0,0 +1,39 @@
+package topology
+
+import (
+ _ "fmt"
+ "strconv"
+ "testing"
+)
+
+func TestXYZ(t *testing.T) {
+ topo := NewTopology("topo", "/etc/weed.conf", "/tmp", "test", 234, 5)
+ for i := 0; i < 5; i++ {
+ dc := NewDataCenter("dc" + strconv.Itoa(i))
+ dc.activeVolumeCount = i
+ dc.maxVolumeCount = 5
+ topo.LinkChildNode(dc)
+ }
+ nl := NewNodeList(topo.Children(), nil)
+
+ picked, ret := nl.RandomlyPickN(1)
+ if !ret || len(picked) != 1 {
+ t.Errorf("need to randomly pick 1 node")
+ }
+
+ picked, ret = nl.RandomlyPickN(4)
+ if !ret || len(picked) != 4 {
+ t.Errorf("need to randomly pick 4 nodes")
+ }
+
+ picked, ret = nl.RandomlyPickN(5)
+ if !ret || len(picked) != 5 {
+ t.Errorf("need to randomly pick 5 nodes")
+ }
+
+ picked, ret = nl.RandomlyPickN(6)
+ if ret || len(picked) != 0 {
+ t.Errorf("can not randomly pick 6 nodes:", ret, picked)
+ }
+
+}