vm/qrender output, sanitized (docs/render-security.md) and displayed in an empty-sandbox iframe — scripts, forms and popups cannot run. Links stay inert in-preview; right-click to open.
)
9
10func TestPower(t *testing.T) {
11 ms := NewMembersByTier()
12 addMembers(ms, 100, T1)
13 addMembers(ms, 100, T2)
14 addMembers(ms, 100, T3)
15
16 tiers.Iterate("", "", func(key string, value interface{}) bool {
17 po := value.(Tier).PowerHandler(ms, tiers)
18if key == T1 && po != 3.0 {
19 t.Fatal("wrong value for T1")
20 }
21if key == T2 && po != 2.0 {
22 t.Fatal("wrong value for T2")
23 }
24if key == T3 && po != 1.0 {
25 t.Fatal("wrong value for T3")
26 }
27
28returnfalse
29 })
30
31 ms = NewMembersByTier()
32 addMembers(ms, 100, T1)
33 addMembers(ms, 50, T2)
34 addMembers(ms, 10, T3)
35
36 tiers.Iterate("", "", func(key string, value interface{}) bool {
37 po := value.(Tier).PowerHandler(ms, tiers)
38if key == T1 && po != 3.0 {
39 t.Fatal("wrong value for T1")
40 }
41if key == T2 && po != 2.0 {
42 t.Fatal("wrong value for T2")
43 }
44if key == T3 && po != 1.0 {
45 t.Fatal("wrong value for T3")
46 }
47
48returnfalse
49 })
50
51 ms = NewMembersByTier()
52 addMembers(ms, 100, T1)
53 addMembers(ms, 200, T2)
54 addMembers(ms, 100, T3)
55
56 tiers.Iterate("", "", func(key string, value interface{}) bool {
57 po := value.(Tier).PowerHandler(ms, tiers)
58if key == T1 && po != 3.0 {
59 t.Fatal("wrong value for T1")
60 }
61if key == T2 && po != 1.0 {
62 t.Fatal("wrong value for T2")
63 }
64if key == T3 && po != 1.0 {
65 t.Fatal("wrong value for T3")
66 }
67
68returnfalse
69 })
70
71 ms = NewMembersByTier()
72 addMembers(ms, 100, T1)
73 addMembers(ms, 200, T2)
74 addMembers(ms, 1000, T3)
75
76 tiers.Iterate("", "", func(key string, value interface{}) bool {
77 po := value.(Tier).PowerHandler(ms, tiers)
78if key == T1 && po != 3.0 {
79 t.Fatal("wrong value for T1")
80 }
81if key == T2 && po != 1.0 {
82 t.Fatal("wrong value for T2")
83 }
84if key == T3 && po != 0.1 {
85 t.Fatal("wrong value for T3")
86 }
87
88returnfalse
89 })
90}
91
92func TestCreateMembers(t *testing.T) {
93 ms := NewMembersByTier()
94 println("adding members...")
95 addMembers(ms, 10, "T1")
96 println("added T1")
97 addMembers(ms, 100, "T2")
98 println("added T2")
99 addMembers(ms, 1000, "T3")
100 println("added T3")
101
102 m, tier := ms.GetMember(address("11T3"))
103 urequire.Equal(t, "T3", tier)
104
105 m, tier = ms.GetMember(address("2000T1"))
106 urequire.Equal(t, "", tier)
107if m != nil {
108 t.Fatal("member must be nil if not found")
109 }
110
111 tier = ms.RemoveMember(address("1T1"))
112 urequire.Equal(t, "T1", tier)
113}
114
115func addMembers(ms MembersByTier, c int, tier string) {