chawk 0.1.15 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,27 +1,29 @@
1
1
  require 'test_helper'
2
2
  require 'json'
3
3
 
4
- describe Chawk::Addr do
4
+ describe Chawk do
5
5
  before do
6
6
  Chawk.clear_all_data!
7
7
  @agent = Chawk::Models::Agent.first || Chawk::Models::Agent.create(:name=>"Test User")
8
8
  @addr = Chawk.addr(@agent,'a:b')
9
9
  end
10
10
 
11
- it "has path" do
12
- @addr.must_respond_to(:path)
11
+ it "has a good agent" do
12
+ lambda {@addr = Chawk.addr(nil,'a:b')}.must_raise(ArgumentError)
13
+ lambda {@addr = Chawk.addr(Object.new,'a:b')}.must_raise(ArgumentError)
14
+ lambda {@addr = Chawk.addr(Chawk::Models::Agent,'a:b')}.must_raise(ArgumentError)
13
15
  end
14
16
 
15
- it "has address" do
16
- @addr.must_respond_to(:address)
17
+ it "has key" do
18
+ @addr.must_respond_to(:key)
17
19
  end
18
20
 
19
- it "address is valid" do
20
- @addr.address.must_equal("a:b")
21
- Chawk.addr(@agent,'a:b').address.must_equal("a:b")
22
- Chawk.addr(@agent,'0:x:z').address.must_equal("0:x:z")
21
+ it "key is valid" do
22
+ @addr.key.must_equal("a:b")
23
+ Chawk.addr(@agent,'a:b').key.must_equal("a:b")
24
+ Chawk.addr(@agent,'0:x:z').key.must_equal("0:x:z")
23
25
  path = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012345689_:$!@*[]~()"
24
- Chawk.addr(@agent,path).address.must_equal(path)
26
+ Chawk.addr(@agent,path).key.must_equal(path)
25
27
  end
26
28
 
27
29
  it "rejects invalid paths" do
@@ -37,19 +39,24 @@ describe Chawk::Addr do
37
39
  lambda {Chawk.addr(@agent,"?")}.must_raise(ArgumentError)
38
40
  end
39
41
 
42
+ it "sets permissions" do
43
+ @addr.must_respond_to(:set_public_read)
44
+ @addr.must_respond_to(:set_permissions)
45
+ end
46
+
40
47
  it "stops unauthorized access" do
41
- agent2 = Chawk::Models::Agent.first(name:"Steve Austin") || Chawk::Models::Agent.create(name:"Steve Austin")
48
+ agent2 = Chawk::Models::Agent.where("name=?","Steve Austin").first || Chawk::Models::Agent.create(name:"Steve Austin")
42
49
  lambda{@addr = Chawk.addr(agent2,'a:b')}.must_raise SecurityError
43
- @addr.public_read=true
44
- Chawk.addr(agent2,'a:b').address.must_equal "a:b"
45
- @addr.public_read=false
50
+ @addr.set_public_read true
51
+ Chawk.addr(agent2,'a:b').key.must_equal "a:b"
52
+ @addr.set_public_read false
46
53
  lambda{@addr = Chawk.addr(agent2,'a:b')}.must_raise SecurityError
47
54
  @addr.set_permissions(agent2,true,false,false)
48
- Chawk.addr(agent2,'a:b').address.must_equal "a:b"
55
+ Chawk.addr(agent2,'a:b').key.must_equal "a:b"
49
56
  @addr.set_permissions(agent2,false,false,false)
50
57
  lambda{@addr = Chawk.addr(agent2,'a:b')}.must_raise SecurityError
51
58
  @addr.set_permissions(agent2,false,false,true)
52
- Chawk.addr(agent2,'a:b').address.must_equal "a:b"
59
+ Chawk.addr(agent2,'a:b').key.must_equal "a:b"
53
60
  end
54
61
 
55
62
  end
@@ -0,0 +1,18 @@
1
+ require 'test_helper'
2
+ require 'json'
3
+
4
+ Jiggy = Chawk.clone
5
+ def Jiggy.find_or_create_node(agent,key) return nil end
6
+
7
+ describe Jiggy do
8
+ before do
9
+ Jiggy.clear_all_data!
10
+ @agent = Jiggy::Models::Agent.first || Jiggy::Models::Agent.create(:name=>"Test User")
11
+ end
12
+
13
+ it "needs a valid node" do
14
+
15
+ lambda {@addr = Jiggy.addr(@agent,'a:b')}.must_raise(ArgumentError)
16
+ end
17
+
18
+ end
@@ -1,102 +1,117 @@
1
1
  require 'test_helper'
2
2
 
3
- describe Chawk::Paddr do
3
+ describe Chawk do
4
4
  before do
5
5
  #@board = Chawk::Board.new()
6
6
  @agent = Chawk::Models::Agent.first || Chawk::Models::Agent.create(:name=>"Test User")
7
7
  @addr = Chawk.addr(@agent,'a:b')
8
- @addr.points.clear_history!
8
+ @addr.points.destroy_all
9
9
  end
10
10
 
11
11
  it "has length" do
12
- @addr.points.must_respond_to(:length)
12
+ @addr.points.must_respond_to(:length)
13
13
  end
14
14
 
15
15
  it "calculates length" do
16
- @addr.points.clear_history!
16
+ @addr.points.destroy_all
17
17
  @addr.points.length.must_equal(0)
18
- @addr.points << 2
18
+ @addr.add_points 2
19
19
  @addr.points.length.must_equal(1)
20
- @addr.points << 2
20
+ @addr.add_points 2
21
21
  @addr.points.length.must_equal(2)
22
- @addr.points << 2
22
+ @addr.add_points 2
23
23
  @addr.points.length.must_equal(3)
24
- @addr.points << [1,2,3,4]
24
+ @addr.add_points [1,2,3,4]
25
25
  @addr.points.length.must_equal(7)
26
26
  end
27
27
 
28
- it "has clear_history!" do
29
- @addr.points.must_respond_to(:clear_history!)
30
- end
28
+ # it "has destroy_all" do
29
+ # @addr.points.must_respond_to(:destroy_all)
30
+ # end
31
31
 
32
32
  it "clears history" do
33
- @addr.points.clear_history!
33
+ @addr.add_points [1,2,3,4]
34
+ @addr.points.length.must_equal(4)
35
+ @addr.points.destroy_all
34
36
  @addr.points.length.must_equal(0)
35
37
  end
36
38
 
37
- it "accepts _insert" do
38
- @addr.points._insert(100,Time.now)
39
+ it "doesn't clear the wrong history" do
40
+ addr2 = Chawk.addr(@agent,'a:b')
41
+ addr2.points.destroy_all
42
+ @addr.points.destroy_all
43
+ addr2.add_points [1,2,3,4]
44
+ @addr.add_points [1,2,3,4]
45
+ addr2.points.destroy_all
46
+ addr2.points.length.must_equal(0)
47
+ @addr.points.length.must_equal(4)
48
+ end
49
+
50
+ it "accepts _insert_point" do
51
+ @addr._insert_point(100,Time.now)
39
52
  @addr.points.length.must_equal(1)
40
53
  end
41
54
 
42
- it "accepts <<" do
43
- @addr.points.must_respond_to(:"<<")
55
+ it "accepts add_points" do
56
+ @addr.must_respond_to(:"add_points")
44
57
  end
45
58
 
46
59
  it "accepts integers" do
47
- @addr.points << 10
60
+ @addr.add_points 10
48
61
  @addr.points.length.must_equal(1)
49
- @addr.points << 0
62
+ @addr.add_points 0
50
63
  @addr.points.length.must_equal(2)
51
- @addr.points << 190
52
- @addr.points << 10002
53
- @addr.points << [10,0,190,100]
64
+ @addr.add_points 190
65
+ @addr.add_points 10002
66
+ @addr.add_points [10,0,190,100]
54
67
  dt = Time.now.to_f
55
- @addr.points << [[10,dt],[0,dt],[190,dt],[100,dt]]
56
- @addr.points << [{"v"=>10},{"v"=>0},{"v"=>190},{"v"=>100,"t"=>dt}]
57
- @addr.points << [{"v"=>10,"t"=>dt},{"v"=>0,"t"=>dt},{"v"=>190,"t"=>dt},{"v"=>100,"t"=>dt}]
58
- @addr.points << [{"t"=>dt,"v"=>10},{"v"=>0,"t"=>dt},{"t"=>dt,"v"=>190},{"v"=>100,"t"=>dt}]
59
- end
60
-
61
- it "does +" do
62
- @addr.points.must_respond_to(:"+")
63
- @addr.points << 10
64
- @addr.points + 100
68
+ @addr.add_points [[10,dt],[0,dt],[190,dt],[100,dt]]
69
+ @addr.add_points [{"v"=>10},{"v"=>0},{"v"=>190},{"v"=>100,"t"=>dt}]
70
+ @addr.add_points [{"v"=>10,"t"=>dt},{"v"=>0,"t"=>dt},{"v"=>190,"t"=>dt},{"v"=>100,"t"=>dt}]
71
+ @addr.add_points [{"t"=>dt,"v"=>10},{"v"=>0,"t"=>dt},{"t"=>dt,"v"=>190},{"v"=>100,"t"=>dt}]
72
+ end
73
+
74
+ it "does increment" do
75
+ @addr.points.destroy_all
76
+ @addr.add_points 99
77
+ @addr.must_respond_to(:increment)
78
+ @addr.increment 10
79
+ @addr.increment
65
80
  @addr.points.last.value.must_equal(110)
66
- @addr.points + -10
81
+ @addr.increment -10
67
82
  @addr.points.last.value.must_equal(100)
68
- @addr.points.+
83
+ @addr.increment
69
84
  @addr.points.last.value.must_equal(101)
70
85
  end
71
86
 
72
- it "should only + integers" do
73
- lambda {@addr.points + 'A'}.must_raise(ArgumentError)
74
- lambda {@addr.points + nil}.must_raise(ArgumentError)
87
+ it "should only increment integers" do
88
+ lambda {@addr.increment 'A'}.must_raise(ArgumentError)
89
+ lambda {@addr.increment nil}.must_raise(ArgumentError)
75
90
  end
76
91
 
77
92
  it "does -" do
78
93
  @addr.points.must_respond_to(:"-")
79
- @addr.points << 10
80
- @addr.points - 100
94
+ @addr.add_points 10
95
+ @addr.decrement 100
81
96
  @addr.points.last.value.must_equal(-90)
82
- @addr.points - -10
97
+ @addr.decrement -10
83
98
  @addr.points.last.value.must_equal(-80)
84
- @addr.points.-
99
+ @addr.decrement
85
100
  @addr.points.last.value.must_equal(-81)
86
101
  end
87
102
 
88
103
  it "should only - integers" do
89
- lambda {@addr.points - 'A'}.must_raise(ArgumentError)
90
- lambda {@addr.points - nil}.must_raise(ArgumentError)
104
+ lambda {@addr.decrement 'A'}.must_raise(ArgumentError)
105
+ lambda {@addr.decrement nil}.must_raise(ArgumentError)
91
106
  end
92
107
 
93
108
  it "only accepts integers in proper formats" do
94
- lambda {@addr.points << 10.0}.must_raise(ArgumentError)
95
- lambda {@addr.points << nil}.must_raise(ArgumentError)
96
- lambda {@addr.points << [10.0,:x]}.must_raise(ArgumentError)
97
- lambda {@addr.points << [[10,10,10],[10,10,20]]}.must_raise(ArgumentError)
109
+ lambda {@addr.add_points 10.0}.must_raise(ArgumentError)
110
+ lambda {@addr.add_points nil}.must_raise(ArgumentError)
111
+ lambda {@addr.add_points [10.0,:x]}.must_raise(ArgumentError)
112
+ lambda {@addr.add_points [[10,10,10],[10,10,20]]}.must_raise(ArgumentError)
98
113
  dt = Time.now.to_f
99
- lambda {@addr.points << [{"x"=>10,"t"=>dt},{"x"=>0,"t"=>dt}]}.must_raise(ArgumentError)
114
+ lambda {@addr.add_points [{"x"=>10,"t"=>dt},{"x"=>0,"t"=>dt}]}.must_raise(ArgumentError)
100
115
  end
101
116
 
102
117
  it "does bulk add points" do
@@ -114,101 +129,104 @@ describe Chawk::Paddr do
114
129
  end
115
130
 
116
131
  it "remembers last value" do
117
- @addr.points << 10
132
+ @addr.add_points 10
118
133
  @addr.points.last.value.must_equal(10)
119
- @addr.points << 1000
134
+ @addr.add_points 1000
120
135
  @addr.points.last.value.must_equal(1000)
121
- @addr.points << 99
136
+ @addr.add_points 99
122
137
  @addr.points.last.value.must_equal(99)
123
- @addr.points << [10,0,190,100]
138
+ @addr.add_points [10,0,190,100]
124
139
  @addr.points.last.value.must_equal(100)
125
140
  end
126
141
 
127
142
  it "stores meta information" do
128
- @addr.points.append(10,{:meta=>"Some meta_information"})
143
+ @addr.add_points(10,{:meta=>"Some meta_information"})
129
144
  @addr.points.last.value.must_equal(10)
130
145
  @addr.points.last.meta.must_equal("Some meta_information")
131
146
  end
132
147
 
133
148
 
134
149
  it "returns ordinal last" do
135
- @addr.points << [10,9,8,7,6,5,4,3,2,1,0]
150
+ @addr.add_points [10,9,8,7,6,5,4,3,2,1,0]
136
151
  @addr.points.last(5).length.must_equal(5)
137
152
  end
138
153
 
139
154
  it "has max()" do
140
- @addr.points.must_respond_to(:max)
155
+ @addr.must_respond_to(:max)
141
156
  end
142
157
 
143
158
  it "does max()" do
144
- @addr.points.clear_history!
145
- @addr.points << [1,2,3,4,5]
146
- @addr.points.max.must_equal(5)
147
- @addr.points << 100
148
- @addr.points.max.must_equal(100)
149
- @addr.points << 100
150
- @addr.points.max.must_equal(100)
151
- @addr.points << 99
152
- @addr.points.max.must_equal(100)
153
- @addr.points << 0
154
- @addr.points.max.must_equal(100)
159
+ @addr.points.destroy_all
160
+ @addr.add_points [1,2,3,4,5]
161
+ @addr.max.must_equal(5)
162
+ @addr.add_points 100
163
+ @addr.max.must_equal(100)
164
+ @addr.add_points 100
165
+ @addr.max.must_equal(100)
166
+ @addr.add_points 99
167
+ @addr.max.must_equal(100)
168
+ @addr.add_points 0
169
+ @addr.max.must_equal(100)
155
170
  end
156
171
 
157
172
  it "does min()" do
158
- @addr.points << [11,12,13,14,15]
159
- @addr.points.min.must_equal(11)
160
- @addr.points << 100
161
- @addr.points.min.must_equal(11)
162
- @addr.points << 10
163
- @addr.points.min.must_equal(10)
164
- @addr.points << 99
165
- @addr.points.min.must_equal(10)
166
- @addr.points << 0
167
- @addr.points.min.must_equal(0)
173
+ @addr.add_points [11,12,13,14,15]
174
+ @addr.min.must_equal(11)
175
+ @addr.add_points 100
176
+ @addr.min.must_equal(11)
177
+ @addr.add_points 10
178
+ @addr.min.must_equal(10)
179
+ @addr.add_points 99
180
+ @addr.min.must_equal(10)
181
+ @addr.add_points 0
182
+ @addr.min.must_equal(0)
168
183
  end
169
184
 
170
185
  it :does_range do
171
- @addr.points.must_respond_to(:range)
186
+ @addr.must_respond_to(:points_range)
172
187
 
173
188
  ts = Time.now
174
189
 
175
- @addr.points._insert(0,ts-1000)
176
- @addr.points._insert(1,ts-1000)
177
- @addr.points._insert(2,ts-1000)
178
- @addr.points._insert(3,ts-1000)
179
- @addr.points._insert(4,ts-1000)
180
- @addr.points._insert(5,ts-800)
181
- @addr.points._insert(6,ts-800)
182
- @addr.points._insert(7,ts-800)
183
- @addr.points._insert(8,ts-200)
184
- @addr.points._insert(9,ts-10)
185
- @addr.points._insert(10,ts-5)
186
- @addr.points.range(ts-1000,ts).length.must_equal 11
187
- @addr.points.range(ts-800,ts).length.must_equal 6
188
- @addr.points.range(ts-200,ts).length.must_equal 3
189
- @addr.points.range(ts-10,ts).length.must_equal 2
190
- @addr.points.range(ts-5,ts).length.must_equal 1
191
- @addr.points.range(ts-200,ts-11).length.must_equal 1
192
- @addr.points.range(ts-1000,ts-1000).length.must_equal 5
193
-
194
- @addr.points._insert(0,ts-100)
195
- @addr.points.range(ts-200,ts).length.must_equal 4
190
+ @addr._insert_point(0,ts-1000)
191
+ @addr._insert_point(1,ts-1000)
192
+ @addr._insert_point(2,ts-1000)
193
+ @addr._insert_point(3,ts-1000)
194
+ @addr._insert_point(4,ts-1000)
195
+ @addr._insert_point(5,ts-800)
196
+ @addr._insert_point(6,ts-800)
197
+ @addr._insert_point(7,ts-800)
198
+ @addr._insert_point(8,ts-200)
199
+ @addr._insert_point(9,ts-10)
200
+ @addr._insert_point(10,ts-5)
201
+ @addr.points_range(ts-1001,ts).length.must_equal 11
202
+ @addr.points_range(ts-801,ts).length.must_equal 6
203
+ @addr.points_range(ts-201,ts).length.must_equal 3
204
+ @addr.points_range(ts-11,ts).length.must_equal 2
205
+ @addr.points_range(ts-6,ts).length.must_equal 1
206
+ @addr.points_range(ts-201,ts-11).length.must_equal 1
207
+ @addr.points_range(ts-1001,ts-999).length.must_equal 5
208
+
209
+ @addr._insert_point(0,ts-101)
210
+ @addr.points_range(ts-201,ts).length.must_equal 4
196
211
  end
197
212
 
198
213
  it "does since" do
214
+ @addr.points.destroy_all
215
+
216
+
199
217
  ts = Time.now
200
218
 
201
- @addr.points._insert(0,ts-1000)
202
- @addr.points._insert(7,ts-800)
203
- @addr.points._insert(8,ts-200)
204
- @addr.points._insert(10,ts-5)
205
- @addr.points.must_respond_to(:since)
206
- @addr.points.since(ts-1000).length.must_equal(4)
207
- @addr.points.since(ts-300).length.must_equal(2)
219
+ @addr._insert_point(0,ts-1000)
220
+ @addr._insert_point(7,ts-800)
221
+ @addr._insert_point(8,ts-200)
222
+ @addr._insert_point(10,ts-5)
223
+ @addr.must_respond_to(:points_since)
224
+ @addr.points_since(ts-1001).length.must_equal(4)
225
+ @addr.points_since(ts-301).length.must_equal(2)
208
226
  end
209
227
 
210
228
  # it :acts_like_an_integer do
211
- # @addr.points << 36878
229
+ # @addr.add_points 36878
212
230
  # last = @addr.points.last
213
231
  # last.to_i.must_equal 36878
214
232
  # end
@@ -218,12 +236,12 @@ describe Chawk::Paddr do
218
236
  # @board.notification_queue_length.must_equal (0)
219
237
 
220
238
  # pointers = []
221
- # pointers << @board.paddr(['0','1','2'])
222
- # pointers << @board.paddr(['0','1','3'])
223
- # pointers << @board.paddr(['0','1','4'])
224
- # pointers << @board.paddr(['0','1','5'])
239
+ # pointers add_points @board.paddr(['0','1','2'])
240
+ # pointers add_points @board.paddr(['0','1','3'])
241
+ # pointers add_points @board.paddr(['0','1','4'])
242
+ # pointers add_points @board.paddr(['0','1','5'])
225
243
 
226
- # pointers.each{|p|p<<10}
244
+ # pointers.each{|p|padd_points10}
227
245
 
228
246
  # @board.notification_queue_length.must_equal (4)
229
247
  # x = @board.pop_from_notification_queue
@@ -1,160 +1,160 @@
1
- require 'test_helper'
2
- require 'json'
3
-
4
- describe Chawk::Vaddr do
5
- before do
6
- #@board = Chawk::Board.new()
7
- @agent = Chawk::Models::Agent.first || Chawk::Models::Agent.create(:name=>"Test User")
8
- @addr = Chawk.addr(@agent,'a:b')
9
- @addr.values.clear_history!
10
- end
11
-
12
- it "has length" do
13
- @addr.values.must_respond_to(:length)
14
- end
15
-
16
- it :calculates_length do
17
- @addr.values.clear_history!
18
- @addr.values.length.must_equal(0)
19
- @addr.values << "2"
20
- @addr.values.length.must_equal(1)
21
- @addr.values << "2"
22
- @addr.values.length.must_equal(2)
23
- @addr.values << "FLEAS!"
24
- @addr.values.length.must_equal(3)
25
- @addr.values << ["CAT","DOG","COW","CHIPMUNK"]
26
- @addr.values.length.must_equal(7)
27
- end
28
-
29
- it "has clear_history!" do
30
- @addr.values.must_respond_to(:clear_history!)
31
- end
32
-
33
- it "clears history" do
34
- @addr.values.clear_history!
35
- @addr.values.length.must_equal(0)
36
- end
37
-
38
- it :accepts__insert do
39
- @addr.values._insert("SHOCK THE MONKEY",Time.now)
40
- @addr.values.length.must_equal(1)
41
- end
42
-
43
- it "accepts <<" do
44
- @addr.values.must_respond_to(:"<<")
45
- end
46
-
47
- it "accepts strings" do
48
- @addr.values << "A"
49
- @addr.values.length.must_equal(1)
50
- @addr.values << "B"
51
- @addr.values.length.must_equal(2)
52
- @addr.values << "C"
53
- @addr.values << "DDDD"
54
- @addr.values << ["MY","DOG","HAS","FLEAS"]
55
- end
56
-
57
- it "only accepts strings" do
58
- lambda {@addr.values << 10}.must_raise(ArgumentError)
59
- lambda {@addr.values << 10.0}.must_raise(ArgumentError)
60
- lambda {@addr.values << Object.new}.must_raise(ArgumentError)
61
- lambda {@addr.values << nil}.must_raise(ArgumentError)
62
- lambda {@addr.values << ["MY",:DOG,:HAS,:FLEAS]}.must_raise(ArgumentError)
63
- end
64
-
65
- it "has last()" do
66
- @addr.values.must_respond_to(:last)
67
- end
68
-
69
- it "remembers last value" do
70
- @addr.values << "ALL"
71
- @addr.values.last.value.must_equal("ALL")
72
- @addr.values << "GOOD"
73
- @addr.values.last.value.must_equal("GOOD")
74
- @addr.values << "BOYS"
75
- @addr.values.last.value.must_equal("BOYS")
76
- @addr.values << ["GO","TO","THE","FAIR"]
77
- @addr.values.last.value.must_equal("FAIR")
78
- end
79
-
80
- it "returns ordinal last" do
81
- @addr.values << ("a".."z").to_a
82
- @addr.values.last(5).length.must_equal(5)
83
- end
84
-
85
- it :does_range do
86
- @addr.values.must_respond_to(:range)
87
-
88
- ts = Time.now
89
- @addr.values._insert('0',ts-1000)
90
- @addr.values._insert('1',ts-1000)
91
- @addr.values._insert('2',ts-1000)
92
- @addr.values._insert('3',ts-1000)
93
- @addr.values._insert('4',ts-1000)
94
- @addr.values._insert('5',ts-800)
95
- @addr.values._insert('6',ts-800)
96
- @addr.values._insert('7',ts-800)
97
- @addr.values._insert('8',ts-200)
98
- @addr.values._insert('9',ts-10)
99
- @addr.values._insert('10',ts-5)
100
- @addr.values.range(ts-1000,ts).length.must_equal 11
101
- @addr.values.range(ts-800,ts).length.must_equal 6
102
- @addr.values.range(ts-200,ts).length.must_equal 3
103
- @addr.values.range(ts-10,ts).length.must_equal 2
104
- @addr.values.range(ts-5,ts).length.must_equal 1
105
- @addr.values.range(ts-200,ts-11).length.must_equal 1
106
- @addr.values.range(ts-1000,ts-1000).length.must_equal 5
107
-
108
- @addr.values._insert('0',ts-100)
109
- @addr.values.range(ts-200,ts).length.must_equal 4
110
- end
111
-
112
- it "does since" do
113
- ts = Time.now
114
- @addr.values._insert('0',ts-1000)
115
- @addr.values._insert('7',ts-800)
116
- @addr.values._insert('8',ts-200)
117
- @addr.values._insert("10",ts-5)
118
- @addr.values.must_respond_to(:since)
119
- @addr.values.since(ts-1000).length.must_equal(4)
120
- @addr.values.since(ts-300).length.must_equal(2)
121
- end
122
-
123
- it "handles serialized data" do
124
- serial = (1..100).collect{|x|"X" * (100)}.to_json
125
- @addr.values.<< serial
126
- last = @addr.values.last
127
- ary = JSON.parse(last.value.to_s)
128
- ary.length.must_equal 100
129
- ary[-1].must_equal ("X" * 100)
130
- end
131
-
132
- # it :acts_like_a_string do
133
- # @addr.values << "GET DOWN!"
134
- # last = @addr.values.last
135
- # last.to_s.must_equal ("GET DOWN!")
136
- # end
137
-
138
-
139
- # it "does mq" do
140
- # @board.flush_notification_queue
141
- # @board.notification_queue_length.must_equal (0)
142
-
143
- # pointers = []
144
- # pointers << @board.addr(['0','1','2'])
145
- # pointers << @board.addr(['0','1','3'])
146
- # pointers << @board.addr(['0','1','4'])
147
- # pointers << @board.addr(['0','1','5'])
148
-
149
- # pointers.each{|p|p<<10}
150
-
151
- # @board.notification_queue_length.must_equal (4)
152
- # x = @board.pop_from_notification_queue
153
- # x.length.must_equal(3)
154
- # @board.notification_queue_length.must_equal (3)
155
- # x = @board.pop_from_notification_queue
156
- # x = @board.pop_from_notification_queue
157
- # @board.notification_queue_length.must_equal (1)
158
- # x.length.must_equal(3)
159
- # end
160
- end
1
+ # require 'test_helper'
2
+ # require 'json'
3
+
4
+ # describe Chawk::Vaddr do
5
+ # before do
6
+ # #@board = Chawk::Board.new()
7
+ # @agent = Chawk::Models::Agent.first || Chawk::Models::Agent.create(:name=>"Test User")
8
+ # @addr = Chawk.addr(@agent,'a:b')
9
+ # @addr.values.clear_history!
10
+ # end
11
+
12
+ # it "has length" do
13
+ # @addr.values.must_respond_to(:length)
14
+ # end
15
+
16
+ # it :calculates_length do
17
+ # @addr.values.clear_history!
18
+ # @addr.values.length.must_equal(0)
19
+ # @addr.values << "2"
20
+ # @addr.values.length.must_equal(1)
21
+ # @addr.values << "2"
22
+ # @addr.values.length.must_equal(2)
23
+ # @addr.values << "FLEAS!"
24
+ # @addr.values.length.must_equal(3)
25
+ # @addr.values << ["CAT","DOG","COW","CHIPMUNK"]
26
+ # @addr.values.length.must_equal(7)
27
+ # end
28
+
29
+ # it "has clear_history!" do
30
+ # @addr.values.must_respond_to(:clear_history!)
31
+ # end
32
+
33
+ # it "clears history" do
34
+ # @addr.values.clear_history!
35
+ # @addr.values.length.must_equal(0)
36
+ # end
37
+
38
+ # it :accepts__insert do
39
+ # @addr.values._insert("SHOCK THE MONKEY",Time.now)
40
+ # @addr.values.length.must_equal(1)
41
+ # end
42
+
43
+ # it "accepts <<" do
44
+ # @addr.values.must_respond_to(:"<<")
45
+ # end
46
+
47
+ # it "accepts strings" do
48
+ # @addr.values << "A"
49
+ # @addr.values.length.must_equal(1)
50
+ # @addr.values << "B"
51
+ # @addr.values.length.must_equal(2)
52
+ # @addr.values << "C"
53
+ # @addr.values << "DDDD"
54
+ # @addr.values << ["MY","DOG","HAS","FLEAS"]
55
+ # end
56
+
57
+ # it "only accepts strings" do
58
+ # lambda {@addr.values << 10}.must_raise(ArgumentError)
59
+ # lambda {@addr.values << 10.0}.must_raise(ArgumentError)
60
+ # lambda {@addr.values << Object.new}.must_raise(ArgumentError)
61
+ # lambda {@addr.values << nil}.must_raise(ArgumentError)
62
+ # lambda {@addr.values << ["MY",:DOG,:HAS,:FLEAS]}.must_raise(ArgumentError)
63
+ # end
64
+
65
+ # it "has last()" do
66
+ # @addr.values.must_respond_to(:last)
67
+ # end
68
+
69
+ # it "remembers last value" do
70
+ # @addr.values << "ALL"
71
+ # @addr.values.last.value.must_equal("ALL")
72
+ # @addr.values << "GOOD"
73
+ # @addr.values.last.value.must_equal("GOOD")
74
+ # @addr.values << "BOYS"
75
+ # @addr.values.last.value.must_equal("BOYS")
76
+ # @addr.values << ["GO","TO","THE","FAIR"]
77
+ # @addr.values.last.value.must_equal("FAIR")
78
+ # end
79
+
80
+ # it "returns ordinal last" do
81
+ # @addr.values << ("a".."z").to_a
82
+ # @addr.values.last(5).length.must_equal(5)
83
+ # end
84
+
85
+ # it :does_range do
86
+ # @addr.values.must_respond_to(:range)
87
+
88
+ # ts = Time.now
89
+ # @addr.values._insert('0',ts-1000)
90
+ # @addr.values._insert('1',ts-1000)
91
+ # @addr.values._insert('2',ts-1000)
92
+ # @addr.values._insert('3',ts-1000)
93
+ # @addr.values._insert('4',ts-1000)
94
+ # @addr.values._insert('5',ts-800)
95
+ # @addr.values._insert('6',ts-800)
96
+ # @addr.values._insert('7',ts-800)
97
+ # @addr.values._insert('8',ts-200)
98
+ # @addr.values._insert('9',ts-10)
99
+ # @addr.values._insert('10',ts-5)
100
+ # @addr.values.range(ts-1000,ts).length.must_equal 11
101
+ # @addr.values.range(ts-800,ts).length.must_equal 6
102
+ # @addr.values.range(ts-200,ts).length.must_equal 3
103
+ # @addr.values.range(ts-10,ts).length.must_equal 2
104
+ # @addr.values.range(ts-5,ts).length.must_equal 1
105
+ # @addr.values.range(ts-200,ts-11).length.must_equal 1
106
+ # @addr.values.range(ts-1000,ts-1000).length.must_equal 5
107
+
108
+ # @addr.values._insert('0',ts-100)
109
+ # @addr.values.range(ts-200,ts).length.must_equal 4
110
+ # end
111
+
112
+ # it "does since" do
113
+ # ts = Time.now
114
+ # @addr.values._insert('0',ts-1000)
115
+ # @addr.values._insert('7',ts-800)
116
+ # @addr.values._insert('8',ts-200)
117
+ # @addr.values._insert("10",ts-5)
118
+ # @addr.values.must_respond_to(:since)
119
+ # @addr.values.since(ts-1000).length.must_equal(4)
120
+ # @addr.values.since(ts-300).length.must_equal(2)
121
+ # end
122
+
123
+ # it "handles serialized data" do
124
+ # serial = (1..100).collect{|x|"X" * (100)}.to_json
125
+ # @addr.values.<< serial
126
+ # last = @addr.values.last
127
+ # ary = JSON.parse(last.value.to_s)
128
+ # ary.length.must_equal 100
129
+ # ary[-1].must_equal ("X" * 100)
130
+ # end
131
+
132
+ # # it :acts_like_a_string do
133
+ # # @addr.values << "GET DOWN!"
134
+ # # last = @addr.values.last
135
+ # # last.to_s.must_equal ("GET DOWN!")
136
+ # # end
137
+
138
+
139
+ # # it "does mq" do
140
+ # # @board.flush_notification_queue
141
+ # # @board.notification_queue_length.must_equal (0)
142
+
143
+ # # pointers = []
144
+ # # pointers << @board.addr(['0','1','2'])
145
+ # # pointers << @board.addr(['0','1','3'])
146
+ # # pointers << @board.addr(['0','1','4'])
147
+ # # pointers << @board.addr(['0','1','5'])
148
+
149
+ # # pointers.each{|p|p<<10}
150
+
151
+ # # @board.notification_queue_length.must_equal (4)
152
+ # # x = @board.pop_from_notification_queue
153
+ # # x.length.must_equal(3)
154
+ # # @board.notification_queue_length.must_equal (3)
155
+ # # x = @board.pop_from_notification_queue
156
+ # # x = @board.pop_from_notification_queue
157
+ # # @board.notification_queue_length.must_equal (1)
158
+ # # x.length.must_equal(3)
159
+ # # end
160
+ # end