1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
#!/usr/bin/env ruby
#
# Put description here
#
#
#
#
#
require 'swig_assert'
require 'minherit'
a = Minherit::Foo.new
b = Minherit::Bar.new
c = Minherit::FooBar.new
d = Minherit::Spam.new
if a.xget() != 1
raise RuntimeError, "Bad attribute value"
end
if b.yget() != 2
raise RuntimeError, "Bad attribute value"
end
if c.xget() != 1 or c.yget() != 2 or c.zget() != 3
raise RuntimeError, "Bad attribute value"
end
if d.xget() != 1 or d.yget() != 2 or d.zget() != 3 or d.wget() != 4
raise RuntimeError, "Bad attribute value"
end
if Minherit.xget(a) != 1
raise RuntimeError, "Bad attribute value #{Minherit.xget(a)}"
end
if Minherit.yget(b) != 2
raise RuntimeError, "Bad attribute value #{Minherit.yget(b)}"
end
if Minherit.xget(c) != 1 or Minherit.yget(c) != 2 or Minherit.zget(c) != 3
raise RuntimeError, "Bad attribute value #{Minherit.xget(c)} #{Minherit.yget(c)} #{Minherit.zget(c)}"
end
if Minherit.xget(d) != 1 or Minherit.yget(d) != 2 or Minherit.zget(d) != 3 or Minherit.wget(d) != 4
raise RuntimeError, "Bad attribute value #{Minherit.xget(d)} #{Minherit.yget(d)} #{Minherit.zget(d)} #{Minherit.wget(d)}"
end
# Cleanse all of the pointers and see what happens
aa = Minherit.toFooPtr(a)
bb = Minherit.toBarPtr(b)
cc = Minherit.toFooBarPtr(c)
dd = Minherit.toSpamPtr(d)
if aa.xget() != 1
raise RuntimeError, "Bad attribute value"
end
if bb.yget() != 2
raise RuntimeError, "Bad attribute value"
end
if cc.xget() != 1 or cc.yget() != 2 or cc.zget() != 3
raise RuntimeError, "Bad attribute value"
end
if dd.xget() != 1 or dd.yget() != 2 or dd.zget() != 3 or dd.wget() != 4
raise RuntimeError, "Bad attribute value"
end
if Minherit.xget(aa) != 1
raise RuntimeError, "Bad attribute value #{Minherit.xget(aa)}"
end
if Minherit.yget(bb) != 2
raise RuntimeError, "Bad attribute value #{Minherit.yget(bb)}"
end
if Minherit.xget(cc) != 1 or Minherit.yget(cc) != 2 or Minherit.zget(cc) != 3
raise RuntimeError, "Bad attribute value #{Minherit.xget(cc)} #{Minherit.yget(cc)} #{Minherit.zget(cc)}"
end
if Minherit.xget(dd) != 1 or Minherit.yget(dd) != 2 or Minherit.zget(dd) != 3 or Minherit.wget(dd) != 4
raise RuntimeError, "Bad attribute value #{Minherit.xget(dd)} #{Minherit.yget(dd)} #{Minherit.zget(dd)} #{Minherit.wget(dd)}"
end
|