Removed RCS-style IDs.
[ruby-eet.git] / test / test_broken_classes.rb
1 class BrokenTestData1
2 end
3
4 class BrokenTestData2
5         def to_eet_properties
6         end
7 end
8
9 class BrokenTestData3
10         def to_eet_properties
11                 ["blah"]
12         end
13 end
14
15 class BrokenTestData4
16         def to_eet_properties
17                 {}
18         end
19 end
20
21 class BrokenTestData5
22         def to_eet_name
23                 "blah"
24         end
25
26         def to_eet_properties
27                 {"" => nil}
28         end
29 end
30
31 class BrokenTestData6
32         def to_eet_name
33                 "blah"
34         end
35
36         def to_eet_properties
37                 {"blah" => nil}
38         end
39 end
40
41 class BrokenTestData7
42         def to_eet_properties
43                 {"blah" => [nil]}
44         end
45 end
46
47 class BrokenTestData8
48         def to_eet_name
49         end
50
51         def to_eet_properties
52                 {"blah" => [nil]}
53         end
54 end
55
56 class BrokenTestData9
57         def to_eet_name
58                 ""
59         end
60
61         def to_eet_properties
62                 {"blah" => [nil]}
63         end
64 end
65
66 class BrokenTest < Test::Unit::TestCase
67         def test_broken_properties
68                 (1..6).each do |i|
69                         assert_raise(Eet::PropertyError) do
70                                 Object.const_get("BrokenTestData#{i}").new.to_eet
71                         end
72                 end
73         end
74
75         def test_broken_eet_names
76                 assert_raise(TypeError) do
77                         BrokenTestData8.new.to_eet
78                 end
79
80                 assert_raise(Eet::NameError) do
81                         BrokenTestData9.new.to_eet
82                 end
83         end
84 end