Class: TestRecursiveOpenStruct

Inherits:
Test::Unit::TestCase
  • Object
show all
Defined in:
lib/Recursive_Open_Struct.rb

Instance Method Summary collapse

Instance Method Details

#setAndAssertValue(val) ⇒ Object



153
154
155
156
157
158
159
160
# File 'lib/Recursive_Open_Struct.rb', line 153

def setAndAssertValue(val)
  @s.test = val
  assert_equal(val, @s.test)
  @s.close
  assert_equal(val, @s.test)
  @s.test = "asdf"
  assert_equal("asdf", @s.test)
end

#setupObject



149
150
151
# File 'lib/Recursive_Open_Struct.rb', line 149

def setup
  @s = Recursive_Open_Struct.new
end

#testAttrsObject



199
200
201
202
203
204
# File 'lib/Recursive_Open_Struct.rb', line 199

def testAttrs
  assert_equal([], @s.attrs)
  @s.b = "x"
  @s.a = "a"
  assert_equal(["a", "b"], @s.attrs)
end

#testDeepObject



229
230
231
232
233
234
235
236
# File 'lib/Recursive_Open_Struct.rb', line 229

def testDeep
  @s.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z = false
  @s.close
  assert_raise(NoMethodError) do
    @s.blub = "hellow"
  end
  assert_equal(false, @s.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z)
end

#testKlammerObject



220
221
222
223
224
225
226
227
# File 'lib/Recursive_Open_Struct.rb', line 220

def testKlammer
  @s.a = "asdf"
  assert_equal("asdf", @s["a"])
  @s.b_x = "hog"
  assert_equal("hog", @s["b_x"])
  @s.c.b.a = 1234
  assert_equal(1234, @s["c"]["b"]["a"])
end

#testRaiseTypeErrorObject



192
193
194
195
196
197
# File 'lib/Recursive_Open_Struct.rb', line 192

def testRaiseTypeError
  @s.a.b = 1
  assert_raise(TypeError) do
    @s.a = 3
  end
end

#testRecursiveObject



206
207
208
209
210
# File 'lib/Recursive_Open_Struct.rb', line 206

def testRecursive
  @s.a.b = 1
  @s.a.c = 2
  assert_equal(["a"], @s.attrs)
end

#testSet0Object



188
189
190
# File 'lib/Recursive_Open_Struct.rb', line 188

def testSet0
  setAndAssertValue(0)
end

#testSetClassObject



180
181
182
# File 'lib/Recursive_Open_Struct.rb', line 180

def testSetClass
  setAndAssertValue(String)
end

#testSetFalseObject



172
173
174
# File 'lib/Recursive_Open_Struct.rb', line 172

def testSetFalse
  setAndAssertValue(false)
end

#testSetNilObject



162
163
164
# File 'lib/Recursive_Open_Struct.rb', line 162

def testSetNil
  setAndAssertValue(nil)
end

#testSetStrObject



176
177
178
# File 'lib/Recursive_Open_Struct.rb', line 176

def testSetStr
  setAndAssertValue("topfen")
end

#testSetTrueObject



184
185
186
# File 'lib/Recursive_Open_Struct.rb', line 184

def testSetTrue
  setAndAssertValue(true)
end

#testSimpleObject



166
167
168
169
170
# File 'lib/Recursive_Open_Struct.rb', line 166

def testSimple
  @s.test = "xx"
  @s.close
  assert_equal("xx", @s.test)
end

#testStrangeObject



212
213
214
215
216
217
218
# File 'lib/Recursive_Open_Struct.rb', line 212

def testStrange
  @s.a
  assert_equal(["a"], @s.attrs)
  assert_equal(Recursive_Open_Struct, @s.a.class)
  @s.a.x = "asfd"
  assert_equal("asfd", @s.a.x)
end