astruct 2.11.0 → 3.0.0

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,3 +0,0 @@
1
- require 'simplecov'
2
- SimpleCov.start
3
- require 'astruct'
@@ -1,227 +0,0 @@
1
- # require 'helper'
2
- # require 'minitest/autorun'
3
-
4
- # class TestOpenStruct < MiniTest::Unit::TestCase
5
- # def setup
6
- # @empty = OpenStruct.new
7
- # @example = OpenStruct.new name: "Kurtis", age: 24
8
- # end
9
-
10
- # def test_equality_with_two_empty_ostructs
11
- # empty2 = OpenStruct.new
12
- # assert_equal @empty, empty2
13
- # end
14
-
15
- # def test_equality_vs_ostruct_with_fields
16
- # refute_equal @example, @empty
17
- # end
18
-
19
- # def test_equality_vs_object_with_fake_table
20
- # empty_object = Object.new
21
- # empty_object.instance_eval { @table = { name: "Kurtis", age: 24 } }
22
- # expected = @example
23
- # actual = empty_object
24
- # refute_equal expected, actual
25
- # end
26
-
27
- # def test_inspect_with_no_fields
28
- # expected = "#<OpenStruct>"
29
- # actual = @empty.inspect
30
- # assert_equal expected, actual
31
- # end
32
-
33
- # def test_inspect_with_fields
34
- # @empty.example1 = 1
35
- # @empty.example2 = 2
36
- # expected = "#<OpenStruct example1=1, example2=2>"
37
- # actual = @empty.inspect
38
- # assert_equal expected, actual
39
- # end
40
-
41
- # def test_inspect_with_sub_struct_duplicate
42
- # @empty.struct2 = OpenStruct.new
43
- # @empty.struct2.struct3 = @empty
44
- # expected = '#<OpenStruct struct2=#<OpenStruct struct3=#<OpenStruct ...>>>'
45
- # actual = @empty.inspect
46
- # assert_equal expected, actual
47
- # end
48
-
49
- # def test_inspect_with_sub_struct
50
- # @example.friends = OpenStruct.new name: "Jason", age: 24
51
- # @example.friends.friends = OpenStruct.new name: "John", age: 15
52
- # @example.friends.friends.friends = OpenStruct.new name: "Ally", age: 32
53
- # expected = '#<OpenStruct name="Kurtis", age=24, friends=#<OpenStruct name="Jason", age=24, friends=#<OpenStruct name="John", age=15, friends=#<OpenStruct name="Ally", age=32>>>>'
54
- # actual = @example.inspect
55
- # assert_equal expected, actual
56
- # end
57
-
58
- # def test_inspect_with_twice_inspected_struct
59
- # @example.inspect
60
- # @example.inspect
61
- # expected = '#<OpenStruct name="Kurtis", age=24>'
62
- # actual = @example.inspect
63
- # assert_equal expected, actual
64
- # end
65
-
66
- # def test_inspect_with_empty_sub_struct
67
- # @empty.struct2 = OpenStruct.new
68
- # expected = '#<OpenStruct struct2=#<OpenStruct>>'
69
- # actual = @empty.inspect
70
- # assert_equal expected, actual
71
- # end
72
-
73
- # def test_freeze_stops_new_assignments
74
- # @example.freeze
75
- # assert_raises(RuntimeError) { @example.age = 24 }
76
- # end
77
-
78
- # def test_freeze_still_returns_values
79
- # @example.freeze
80
- # expecteds = "Kurtis"
81
- # actual = @example.name
82
- # assert_equal expecteds, actual
83
- # end
84
-
85
- # def test_freeze_stops_reassignments
86
- # @example.freeze
87
- # assert_raises(RuntimeError) { @example.name = "Jazzy" }
88
- # end
89
-
90
- # # def test_freeze_stops_reassign_even_if_frozen_redefined
91
- # # @example.freeze
92
- # # def @example.frozen?; nil end
93
- # # @example.freeze
94
- # # message = '[ruby-core:22559]'
95
- # # assert_raises(RuntimeError, message) { @example.name = "Jazzy" }
96
- # # # assert_raises(TypeError, message) { @example.name = "Jazzy" }
97
- # # end
98
-
99
- # def test_ostruct_doesn_respond_to_non_existant_keys_getter
100
- # refute_respond_to @empty, :akey
101
- # end
102
-
103
- # def test_ostruct_doesn_respond_to_non_existant_keys_setter
104
- # refute_respond_to @empty, :akey=
105
- # end
106
-
107
- # def test_delete_field_removes_getter_method
108
- # bug = '[ruby-core:33010]'
109
- # @example.delete_field :name
110
- # refute_respond_to @example, :name, bug
111
- # end
112
-
113
- # def test_delete_field_removes_setter_method
114
- # bug = '[ruby-core:33010]'
115
- # @example.delete_field :name
116
- # refute_respond_to @example, :name=, bug
117
- # end
118
-
119
- # def test_delete_field_removes_table_key_value
120
- # @example.delete_field :name
121
- # expected = nil
122
- # actual = @example.table[:name]
123
- # assert_equal expected, actual
124
- # end
125
-
126
- # def test_delete_field_returns_value_of_deleted_key
127
- # expected = "Kurtis"
128
- # actual = @example.delete_field :name
129
- # assert_equal expected, actual
130
- # end
131
-
132
- # def test_method_missing_handles_square_bracket_equals
133
- # assert_raises(ArgumentError) { @empty[:foo] = :bar }
134
- # end
135
-
136
- # def test_method_missing_handles_square_brackets
137
- # assert_raises(NoMethodError) { @empty[:foo] }
138
- # end
139
-
140
- # def test_to_hash_returns_hash
141
- # expected = { name: "John Smith", age: 70, pension: 300 }
142
- # actual = OpenStruct.new(expected).to_hash
143
- # assert_equal expected, actual
144
- # end
145
-
146
- # def test_to_hash_modified_modifies_ostruct
147
- # @example.to_hash[:age] = 70
148
- # expected = 70
149
- # actual = @example.age
150
- # assert_equal expected, actual
151
- # end
152
-
153
- # def test_empty_example_has_empty_table
154
- # expected = {}
155
- # actual = @empty.table
156
- # assert_equal expected, actual
157
- # end
158
-
159
- # def test_example_has_name_method
160
- # assert_respond_to @example, :name
161
- # end
162
-
163
- # def test_example_has_given_name
164
- # expected = "Kurtis"
165
- # actual = @example.name
166
- # assert_equal expected, actual
167
- # end
168
-
169
- # def test_example_takes_name
170
- # assert_send [@example, :name=, "Dave"]
171
- # end
172
-
173
- # def test_example_has_taken_name
174
- # @example.name = "Dave"
175
- # expected = "Dave"
176
- # actual = @example.name
177
- # assert_equal expected, actual
178
- # end
179
-
180
- # def test_load_takes_a_hash
181
- # assert_send [@example, :load, { nickname: "Kurt" }]
182
- # end
183
-
184
- # def test_load_sets_methods
185
- # @example.load nickname: "Kurt"
186
- # assert_respond_to @example, :nickname
187
- # end
188
-
189
- # def test_ostruct_has_getter_methods_with_non_alpha_numeric_characters
190
- # @example.load "Length (In Inchs)" => 72
191
- # assert_send [@example, :"Length (In Inchs)"]
192
- # end
193
-
194
- # def test_ostruct_has_getter_methods_with_non_alpha_numeric_characters
195
- # @example.load "Length (In Inchs)" => 72
196
- # assert_send [@example, :"Length (In Inchs)=", 73]
197
- # end
198
-
199
- # def test_load_sets_correct_value
200
- # @example.load nickname: "Kurt"
201
- # expected = "Kurt"
202
- # actual = @example.nickname
203
- # assert_equal expected, actual
204
- # end
205
-
206
- # def test_dump_contains_values
207
- # expected = { name: "Kurtis", age: 24 }
208
- # actual = @example.marshal_dump
209
- # assert_equal expected, actual
210
- # end
211
-
212
- # def test_selective_dump_contains_selective_values
213
- # expected = { age: 24 }
214
- # actual = @example.dump :age
215
- # assert_equal expected, actual
216
- # end
217
-
218
- # def test_inspect_has_values_delimited_by_comma
219
- # expected = /name="Kurtis", age=24/
220
- # actual = @example.inspect
221
- # assert_match expected, actual
222
- # end
223
-
224
- # def test_other_object_isnt_affected
225
- # refute_respond_to @empty, :name
226
- # end
227
- # end