trimurti 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (129) hide show
  1. data/trimurti-0.1/docs/classes/Array.html +176 -0
  2. data/trimurti-0.1/docs/classes/Array.src/M000005.html +19 -0
  3. data/trimurti-0.1/docs/classes/Array.src/M000006.html +19 -0
  4. data/trimurti-0.1/docs/classes/Asserter.html +136 -0
  5. data/trimurti-0.1/docs/classes/Brahma.html +360 -0
  6. data/trimurti-0.1/docs/classes/Brahma.src/M000029.html +21 -0
  7. data/trimurti-0.1/docs/classes/Brahma.src/M000030.html +20 -0
  8. data/trimurti-0.1/docs/classes/Brahma.src/M000031.html +36 -0
  9. data/trimurti-0.1/docs/classes/Brahma.src/M000032.html +18 -0
  10. data/trimurti-0.1/docs/classes/Brahma.src/M000033.html +20 -0
  11. data/trimurti-0.1/docs/classes/Brahma.src/M000034.html +21 -0
  12. data/trimurti-0.1/docs/classes/Brahma.src/M000035.html +25 -0
  13. data/trimurti-0.1/docs/classes/Brahma.src/M000036.html +22 -0
  14. data/trimurti-0.1/docs/classes/Brahma.src/M000037.html +22 -0
  15. data/trimurti-0.1/docs/classes/ComponentSpec.html +275 -0
  16. data/trimurti-0.1/docs/classes/ComponentSpec.src/M000001.html +21 -0
  17. data/trimurti-0.1/docs/classes/ComponentSpec.src/M000002.html +18 -0
  18. data/trimurti-0.1/docs/classes/DRb.html +165 -0
  19. data/trimurti-0.1/docs/classes/DRb.src/M000062.html +18 -0
  20. data/trimurti-0.1/docs/classes/DRb.src/M000063.html +18 -0
  21. data/trimurti-0.1/docs/classes/GUID.html +129 -0
  22. data/trimurti-0.1/docs/classes/Linda.html +444 -0
  23. data/trimurti-0.1/docs/classes/Linda.src/M000007.html +16 -0
  24. data/trimurti-0.1/docs/classes/Linda.src/M000008.html +16 -0
  25. data/trimurti-0.1/docs/classes/Linda.src/M000009.html +20 -0
  26. data/trimurti-0.1/docs/classes/Linda.src/M000010.html +16 -0
  27. data/trimurti-0.1/docs/classes/Linda.src/M000011.html +18 -0
  28. data/trimurti-0.1/docs/classes/Linda.src/M000012.html +21 -0
  29. data/trimurti-0.1/docs/classes/Linda.src/M000013.html +18 -0
  30. data/trimurti-0.1/docs/classes/Linda.src/M000014.html +18 -0
  31. data/trimurti-0.1/docs/classes/Linda.src/M000015.html +18 -0
  32. data/trimurti-0.1/docs/classes/Linda.src/M000016.html +18 -0
  33. data/trimurti-0.1/docs/classes/Linda.src/M000017.html +20 -0
  34. data/trimurti-0.1/docs/classes/Linda.src/M000018.html +20 -0
  35. data/trimurti-0.1/docs/classes/Object.html +153 -0
  36. data/trimurti-0.1/docs/classes/Object.src/M000021.html +18 -0
  37. data/trimurti-0.1/docs/classes/Plugins.html +174 -0
  38. data/trimurti-0.1/docs/classes/Plugins.src/M000024.html +32 -0
  39. data/trimurti-0.1/docs/classes/Plugins.src/M000025.html +32 -0
  40. data/trimurti-0.1/docs/classes/Plugins/Spec.html +267 -0
  41. data/trimurti-0.1/docs/classes/Plugins/Spec.src/M000026.html +22 -0
  42. data/trimurti-0.1/docs/classes/Plugins/Spec.src/M000027.html +18 -0
  43. data/trimurti-0.1/docs/classes/Plugins/Spec.src/M000028.html +20 -0
  44. data/trimurti-0.1/docs/classes/QBE_ID.html +147 -0
  45. data/trimurti-0.1/docs/classes/QBE_ID.src/M000059.html +18 -0
  46. data/trimurti-0.1/docs/classes/QueryByExample.html +270 -0
  47. data/trimurti-0.1/docs/classes/QueryByExample.src/M000054.html +17 -0
  48. data/trimurti-0.1/docs/classes/QueryByExample.src/M000055.html +17 -0
  49. data/trimurti-0.1/docs/classes/QueryByExample.src/M000056.html +17 -0
  50. data/trimurti-0.1/docs/classes/QueryByExample.src/M000057.html +17 -0
  51. data/trimurti-0.1/docs/classes/QueryByExample.src/M000058.html +17 -0
  52. data/trimurti-0.1/docs/classes/Shiva.html +159 -0
  53. data/trimurti-0.1/docs/classes/Shiva.src/M000060.html +18 -0
  54. data/trimurti-0.1/docs/classes/Shiva.src/M000061.html +19 -0
  55. data/trimurti-0.1/docs/classes/String.html +176 -0
  56. data/trimurti-0.1/docs/classes/String.src/M000022.html +16 -0
  57. data/trimurti-0.1/docs/classes/String.src/M000023.html +16 -0
  58. data/trimurti-0.1/docs/classes/Symbol.html +176 -0
  59. data/trimurti-0.1/docs/classes/Symbol.src/M000003.html +16 -0
  60. data/trimurti-0.1/docs/classes/Symbol.src/M000004.html +16 -0
  61. data/trimurti-0.1/docs/classes/Trimurti.html +189 -0
  62. data/trimurti-0.1/docs/classes/Trimurti.src/M000019.html +16 -0
  63. data/trimurti-0.1/docs/classes/Trimurti.src/M000020.html +16 -0
  64. data/trimurti-0.1/docs/classes/Vishnu.html +563 -0
  65. data/trimurti-0.1/docs/classes/Vishnu.src/M000038.html +18 -0
  66. data/trimurti-0.1/docs/classes/Vishnu.src/M000039.html +18 -0
  67. data/trimurti-0.1/docs/classes/Vishnu.src/M000040.html +18 -0
  68. data/trimurti-0.1/docs/classes/Vishnu.src/M000041.html +22 -0
  69. data/trimurti-0.1/docs/classes/Vishnu.src/M000042.html +23 -0
  70. data/trimurti-0.1/docs/classes/Vishnu.src/M000043.html +24 -0
  71. data/trimurti-0.1/docs/classes/Vishnu.src/M000044.html +24 -0
  72. data/trimurti-0.1/docs/classes/Vishnu.src/M000045.html +18 -0
  73. data/trimurti-0.1/docs/classes/Vishnu.src/M000046.html +22 -0
  74. data/trimurti-0.1/docs/classes/Vishnu.src/M000047.html +20 -0
  75. data/trimurti-0.1/docs/classes/Vishnu.src/M000048.html +18 -0
  76. data/trimurti-0.1/docs/classes/Vishnu.src/M000049.html +22 -0
  77. data/trimurti-0.1/docs/classes/Vishnu.src/M000050.html +20 -0
  78. data/trimurti-0.1/docs/classes/Vishnu.src/M000051.html +19 -0
  79. data/trimurti-0.1/docs/classes/Vishnu.src/M000052.html +30 -0
  80. data/trimurti-0.1/docs/classes/Vishnu.src/M000053.html +21 -0
  81. data/trimurti-0.1/docs/created.rid +1 -0
  82. data/trimurti-0.1/docs/dot/f_0.dot +14 -0
  83. data/trimurti-0.1/docs/dot/f_0.png +0 -0
  84. data/trimurti-0.1/docs/dot/f_1.dot +14 -0
  85. data/trimurti-0.1/docs/dot/f_1.png +0 -0
  86. data/trimurti-0.1/docs/dot/f_2.dot +14 -0
  87. data/trimurti-0.1/docs/dot/f_2.png +0 -0
  88. data/trimurti-0.1/docs/dot/f_3.dot +39 -0
  89. data/trimurti-0.1/docs/dot/f_3.png +0 -0
  90. data/trimurti-0.1/docs/dot/f_4.dot +39 -0
  91. data/trimurti-0.1/docs/dot/f_4.png +0 -0
  92. data/trimurti-0.1/docs/dot/f_5.dot +69 -0
  93. data/trimurti-0.1/docs/dot/f_5.png +0 -0
  94. data/trimurti-0.1/docs/dot/f_6.dot +149 -0
  95. data/trimurti-0.1/docs/dot/f_6.png +0 -0
  96. data/trimurti-0.1/docs/dot/m_3_0.dot +30 -0
  97. data/trimurti-0.1/docs/dot/m_3_0.png +0 -0
  98. data/trimurti-0.1/docs/dot/m_4_0.dot +39 -0
  99. data/trimurti-0.1/docs/dot/m_4_0.png +0 -0
  100. data/trimurti-0.1/docs/dot/m_5_0.dot +40 -0
  101. data/trimurti-0.1/docs/dot/m_5_0.png +0 -0
  102. data/trimurti-0.1/docs/dot/m_5_1.dot +30 -0
  103. data/trimurti-0.1/docs/dot/m_5_1.png +0 -0
  104. data/trimurti-0.1/docs/dot/m_6_0.dot +40 -0
  105. data/trimurti-0.1/docs/dot/m_6_0.png +0 -0
  106. data/trimurti-0.1/docs/dot/m_6_1.dot +30 -0
  107. data/trimurti-0.1/docs/dot/m_6_1.png +0 -0
  108. data/trimurti-0.1/docs/dot/m_6_2.dot +30 -0
  109. data/trimurti-0.1/docs/dot/m_6_2.png +0 -0
  110. data/trimurti-0.1/docs/files/License_txt.html +132 -0
  111. data/trimurti-0.1/docs/files/ReadMe_Amber_txt.html +491 -0
  112. data/trimurti-0.1/docs/files/ReadMe_txt.html +694 -0
  113. data/trimurti-0.1/docs/files/nist/trimurti/linda_rb.html +129 -0
  114. data/trimurti-0.1/docs/files/nist/trimurti/plugins_rb.html +129 -0
  115. data/trimurti-0.1/docs/files/nist/trimurti/queryByExample_rb.html +128 -0
  116. data/trimurti-0.1/docs/files/nist/trimurti/trimurti_rb.html +151 -0
  117. data/trimurti-0.1/docs/fr_class_index.html +43 -0
  118. data/trimurti-0.1/docs/fr_file_index.html +33 -0
  119. data/trimurti-0.1/docs/fr_method_index.html +89 -0
  120. data/trimurti-0.1/docs/images/overview.jpg +0 -0
  121. data/trimurti-0.1/docs/index.html +24 -0
  122. data/trimurti-0.1/docs/rdoc-style.css +208 -0
  123. data/trimurti-0.1/lib/nist/trimurti/linda.rb +163 -0
  124. data/trimurti-0.1/lib/nist/trimurti/plugins.rb +107 -0
  125. data/trimurti-0.1/lib/nist/trimurti/queryByExample.rb +81 -0
  126. data/trimurti-0.1/lib/nist/trimurti/trimurti.rb +433 -0
  127. data/trimurti-0.1/tests/test_linda.rb +111 -0
  128. data/trimurti-0.1/tests/test_trimurti.rb +247 -0
  129. metadata +241 -0
@@ -0,0 +1,111 @@
1
+ # Tests linda.rb
2
+ #
3
+ # Author: A. Griesser
4
+
5
+ require 'nist/trimurti/linda'
6
+ require 'test/unit'
7
+ require 'timeout'
8
+
9
+ # Add input_file, expected_file, and acual_file to Test::Unit::TestCase
10
+ require File.join( ENV['DevRoot'], 'Amber', 'bin', 'phb.rb' )
11
+
12
+
13
+ # ============ Test Class ================================
14
+
15
+ class Test_Linda < Test::Unit::TestCase
16
+
17
+ def initialize(test_method_name)
18
+ super
19
+ end
20
+
21
+ def setup
22
+ Linda.default_instance=nil
23
+ Linda.is_local = true
24
+ end
25
+
26
+
27
+ # ============== Tests =================
28
+
29
+ def test_tuple_ops
30
+ h = [:flower, 'Hyacinth', 55, :snob]
31
+ v = [:flower, 'Violet', 40, :distraught]
32
+ r = [:flower, 'Rose', 30, :floozy]
33
+ # Add some Tuples.
34
+ Linda.put(*h)
35
+ Linda.put(*v)
36
+ Linda.put(*r)
37
+ # Verify read without wait. Failure could be due to Linda.put as well as Linda.rdp
38
+ tuple = Linda.rdp(nil, /yac/, nil, nil)
39
+ assert_equal(h, tuple)
40
+ tuple = Linda.rdp(nil, nil, 40, nil)
41
+ assert_equal(v, tuple)
42
+ tuple = Linda.rdp(nil, nil, nil, :floozy)
43
+ assert_equal(r, tuple)
44
+ # Verify read with wait (when Tuple is present)
45
+ tuple = Linda.rd(nil, /yac/, nil, nil)
46
+ assert_equal(h, tuple)
47
+ tuple = Linda.rd(nil, nil, 40, nil)
48
+ assert_equal(v, tuple)
49
+ tuple = Linda.rd(nil, nil, nil, :floozy)
50
+ assert_equal(r, tuple)
51
+ # Verify removal, and that after removal rdp returns nil, rd times out, get times out.
52
+ tuple = Linda.get(nil, /yac/, nil, nil)
53
+ assert_equal(h, tuple)
54
+ assert_nil(Linda.rdp(nil, /yac/, nil, nil))
55
+ assert_timeout(3) { Linda.rd(nil, /yac/, nil, nil) }
56
+ assert_timeout(3) { Linda.get(nil, /yac/, nil, nil) }
57
+ tuple = Linda.get(nil, nil, 40, nil)
58
+ assert_equal(v, tuple)
59
+ assert_nil(Linda.rdp(nil, nil, 40, nil))
60
+ assert_timeout(3) { Linda.rd(nil, nil, 40, nil) }
61
+ assert_timeout(3) { Linda.get(nil, nil, 40, nil) }
62
+ tuple = Linda.get(nil, nil, nil, :floozy)
63
+ assert_equal(r, tuple)
64
+ assert_nil(Linda.rdp(nil, nil, nil, :floozy))
65
+ assert_timeout(3) { Linda.rd(nil, nil, nil, :floozy) }
66
+ assert_timeout(3) { Linda.get(nil, nil, nil, :floozy) }
67
+ end
68
+
69
+ def test_start_server
70
+ Linda.start_server(false)
71
+ end
72
+
73
+ def test_tuple_ops_NONLOCAL
74
+ Linda.is_local = false
75
+ test_tuple_ops
76
+ end
77
+
78
+
79
+
80
+ # ============== Define test order =================
81
+
82
+ def self.suite
83
+ suite = Test::Unit::TestSuite.new('Test_Linda')
84
+ suite << self.new("test_tuple_ops")
85
+ suite << self.new("test_start_server")
86
+ suite << self.new("test_tuple_ops_NONLOCAL")
87
+ suite
88
+ end
89
+
90
+ # ====== helpers ============
91
+
92
+
93
+ def limit(maxSeconds, timeoutReturnValue, &block)
94
+ return Timeout::timeout(maxSeconds, &block)
95
+ rescue Timeout::Error
96
+ return timeoutReturnValue
97
+ end
98
+
99
+ def assert_timeout(maxSeconds, &block)
100
+ answer = limit(maxSeconds, :timeout, &block)
101
+ assert(:timeout, answer)
102
+ end
103
+
104
+ end # Test_Class
105
+
106
+ # ====================================================
107
+
108
+ if __FILE__ == $0 #directlyInvoked?
109
+ require 'test/unit/ui/console/testrunner'
110
+ Test::Unit::UI::Console::TestRunner.run(Test_Linda)
111
+ end
@@ -0,0 +1,247 @@
1
+ # Tests trimurti.rb
2
+ #
3
+ # Author: A. Griesser
4
+
5
+
6
+ require 'nist/trimurti/trimurti'
7
+ require 'test/unit'
8
+
9
+ # Add input_file, expected_file, and acual_file to Test::Unit::TestCase
10
+ require File.join( ENV['DevRoot'], 'Amber', 'bin', 'phb.rb' )
11
+
12
+ # ============ Services used for testing ================================
13
+
14
+ module Freen
15
+ def freen(aString)
16
+ '42 ' + aString
17
+ end
18
+ end
19
+
20
+ class SpacelySprocket
21
+ include Freen
22
+ attr_accessor :name, :blort
23
+ def initialize(name)
24
+ self.name=name
25
+ end
26
+ def use_blort
27
+ blort.blort(5)
28
+ end
29
+ end
30
+
31
+ module Blort
32
+ def blort(aNumber)
33
+ 42 + aNumber
34
+ end
35
+ end
36
+
37
+ class CogswellCog
38
+ include Blort
39
+ attr_accessor :name, :freen
40
+ def initialize(name)
41
+ self.name=name
42
+ end
43
+ def use_freen
44
+ freen.freen('giant mutant hyperintelligent Wombats')
45
+ end
46
+ def attach_freen(aFreen)
47
+ self.freen=aFreen
48
+ end
49
+ end
50
+
51
+ class PorkBarrel
52
+ attr_accessor :bellies
53
+ def more(pork)
54
+ bellies << pork
55
+ end
56
+ def status_quo
57
+ self.bellies=[:highways]
58
+ end
59
+ def deny
60
+ self.bellies.clear
61
+ end
62
+ end
63
+
64
+ class Politician
65
+ attr_accessor :barrel
66
+ def cheese_it
67
+ barrel.deny
68
+ end
69
+ def more_pork(pork)
70
+ barrel.more(pork)
71
+ end
72
+ def self.spawn
73
+ new
74
+ end
75
+ end
76
+
77
+ class Electorate
78
+ attr_accessor :politico
79
+ def impeach
80
+ self.politico=nil
81
+ end
82
+ def oink(pork)
83
+ politico.more_pork(pork)
84
+ end
85
+ end
86
+
87
+
88
+ # ============ Test Class ================================
89
+
90
+ class Test_Trimurti < Test::Unit::TestCase
91
+
92
+ def initialize(test_method_name)
93
+ super
94
+ end
95
+
96
+ def setup
97
+ Trimurti.default_instance=nil
98
+ end
99
+
100
+
101
+ # ============== Tests =================
102
+
103
+
104
+ def test_register_component
105
+ # Register the components: describes services offered by components, and provide services to components.
106
+ cogswell = CogswellCog.new('W. C.')
107
+ spacely = SpacelySprocket.new('Cosmo G.')
108
+ Trimurti.register_component('Cogswell', cogswell, [:Blort], {:attach_freen => :Freen})
109
+ Trimurti.register_component('Spacely', spacely, [:Freen], {:blort= => :Blort})
110
+ # Verify component registration
111
+ assert_same(cogswell, Trimurti.component('Cogswell'))
112
+ assert_same(spacely, Trimurti.component('Spacely'))
113
+ assert_equal(expected_components, Trimurti.show_components('') )
114
+ # Register the services (according to component registration)
115
+ Trimurti.register_services
116
+ # Verify service registration
117
+ assert_same(cogswell, Trimurti.service(nil, nil, :Blort))
118
+ assert_same(spacely, Trimurti.service(nil, nil, :Freen))
119
+ assert_equal(expected_services, Trimurti.show_services('') )
120
+ # Hook up the clients and servers
121
+ Trimurti.connect_services
122
+ # Now verify that the connections were established correctly.
123
+ assert_same(spacely, cogswell.freen)
124
+ assert_same(cogswell, spacely.blort)
125
+ # Operate the coupled components
126
+ assert_equal('42 giant mutant hyperintelligent Wombats', cogswell.use_freen)
127
+ assert_equal(47, spacely.use_blort)
128
+ end
129
+
130
+ def test_plugins
131
+ str = ''
132
+ Trimurti.require_plugins('src_data/test_input/*Bone.rb', str)
133
+ expected ="\n\nRequiring plugin: 'src_data/test_input/ankleBone'"
134
+ expected << "\nRequiring plugin: 'src_data/test_input/hipBone'"
135
+ expected << "\nRequiring plugin: 'src_data/test_input/legBone'"
136
+ assert_equal(expected, str)
137
+ Trimurti.register_services
138
+ Trimurti.connect_services
139
+ hip = Trimurti.service('HipBone')
140
+ expected = "The hip bone's connected to the leg bone, The leg bone's connected to the ankle bone, etc."
141
+ assert_equal(expected, hip.rhyme)
142
+ end
143
+
144
+ def test_yaml
145
+ $EVIDENCE_OF_LOAD=Array.new
146
+ # Construct an Array of ComponentSpecs to marshall
147
+ specs = Array.new
148
+ spec = ComponentSpec.new
149
+ spec.name='Ludwig'
150
+ spec.required_source=['src_data/test_input/alpha', 'src_data/test_input/beta']
151
+ spec.life_cycle={:create => "Puzzle.wombat(42, 'ebenezer')"}
152
+ spec.provides=[:Perplexity]
153
+ spec.needs={:enigma= => 'Wolfgang'}
154
+ specs << spec
155
+ spec = ComponentSpec.new
156
+ spec.name='Wolfgang'
157
+ spec.required_source=['src_data/test_input/alpha', 'src_data/test_input/gamma']
158
+ spec.life_cycle={:create => "Enigma.gizzard"}
159
+ spec.provides=[:Envy]
160
+ spec.needs={}
161
+ specs << spec
162
+ # Marshall the ComponentSpecs
163
+ fileName = 'temp/test_results/mystry.yml'
164
+ File.open(fileName, 'w') {|f| YAML.dump(specs, f)}
165
+ # Regisgter components built according to the ComponentSpecs
166
+ Trimurti.from_yaml(fileName)
167
+ assert_equal(['alpha', 'beta', 'gamma'], $EVIDENCE_OF_LOAD)
168
+ # Build
169
+ Trimurti.register_services
170
+ Trimurti.connect_services
171
+ puzzle = Trimurti.service('Ludwig')
172
+ expected = '42 Belgum ebenezer'
173
+ assert_equal(expected, puzzle.thunder)
174
+ end
175
+
176
+
177
+ def test_lifeCycle
178
+ Trimurti.register_component('PrkBrl', PorkBarrel.new, [:re_election], {}, {:start => 'component.status_quo'})
179
+ Trimurti.register_component('Pol', nil, [:pork], {:barrel= => :re_election}, {:create => 'Politician.spawn', :stop => 'component.cheese_it'})
180
+ Trimurti.register_component('JoeAvg', Electorate.new, [:votes], {:politico= => :pork}, {:destroy => 'component.impeach', :squeal => 'component.oink(:mil_base)'})
181
+ Trimurti.assemble
182
+ # Verify component registration, and instantiation of Politician
183
+ prk = Trimurti.component('PrkBrl')
184
+ pol = Trimurti.service(nil, nil, :pork)
185
+ joe = Trimurti.service('JoeAvg')
186
+ assert_kind_of(PorkBarrel, prk)
187
+ assert_kind_of(Politician, pol)
188
+ assert_kind_of(Electorate, joe)
189
+ # Verify assembly
190
+ assert_same(pol, joe.politico)
191
+ assert_same(prk, pol.barrel)
192
+ # Verify :start
193
+ assert_equal( [:highways], prk.bellies)
194
+ # Distribute custom :squeal event
195
+ Trimurti.life_cycle(:squeal)
196
+ # Verify :squeal
197
+ assert_equal( [:highways, :mil_base], prk.bellies)
198
+ # Verify :stop
199
+ Trimurti.stop_components
200
+ assert_equal( [], prk.bellies)
201
+ # Verify :destroy
202
+ Trimurti.destroy_components
203
+ assert_nil(joe.politico)
204
+ end
205
+
206
+
207
+ # ============== Define test order =================
208
+
209
+ def self.suite
210
+ suite = Test::Unit::TestSuite.new('Test_Trimurti')
211
+ suite << self.new("test_register_component")
212
+ suite << self.new("test_lifeCycle")
213
+ suite << self.new("test_plugins")
214
+ suite << self.new("test_yaml")
215
+ suite
216
+ end
217
+
218
+ # ====== helpers ============
219
+
220
+ def expected_components
221
+ answer = <<END_OF_STRING
222
+
223
+ All registered components (Name, host, provides, needs, life_cycle):
224
+ "Cogswell" "hostName" [:Blort] {:attach_freen=>:Freen} {}
225
+ "Spacely" "hostName" [:Freen] {:blort==>:Blort} {}
226
+ END_OF_STRING
227
+ answer.gsub('hostName', Trimurti.gethostname)
228
+ end
229
+
230
+ def expected_services
231
+ answer = <<END_OF_STRING
232
+
233
+ All registered services (name, host, provides):
234
+ "Cogswell" "hostName" :Blort
235
+ "Spacely" "hostName" :Freen
236
+ END_OF_STRING
237
+ answer.gsub('hostName', Trimurti.gethostname)
238
+ end
239
+
240
+ end # Test_Class
241
+
242
+ # ====================================================
243
+
244
+ if __FILE__ == $0 #directlyInvoked?
245
+ require 'test/unit/ui/console/testrunner'
246
+ Test::Unit::UI::Console::TestRunner.run(Test_Trimurti)
247
+ end
metadata ADDED
@@ -0,0 +1,241 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.8.10
3
+ specification_version: 1
4
+ name: trimurti
5
+ version: !ruby/object:Gem::Version
6
+ version: "0.1"
7
+ date: 2006-01-15
8
+ summary: "Applications that assemble themselves, plugins"
9
+ require_paths:
10
+ - lib
11
+ email: griesser@nist.gov
12
+ homepage:
13
+ rubyforge_project:
14
+ description: "Trimurti make it easy for applications to load pugins, and to assemble
15
+ themselves from local or distributed services."
16
+ autorequire:
17
+ - trimurti-0.1/lib/nist/trimurti/linda.rb
18
+ - trimurti-0.1/lib/nist/trimurti/plugins.rb
19
+ - trimurti-0.1/lib/nist/trimurti/queryByExample.rb
20
+ - trimurti-0.1/lib/nist/trimurti/trimurti.rb
21
+ default_executable:
22
+ bindir: bin
23
+ has_rdoc: false
24
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
25
+ requirements:
26
+ -
27
+ - ">"
28
+ - !ruby/object:Gem::Version
29
+ version: 0.0.0
30
+ version:
31
+ platform: ruby
32
+ authors:
33
+ - Art Griesser
34
+ files:
35
+ - trimurti-0.1
36
+ - trimurti-0.1/bin
37
+ - trimurti-0.1/docs
38
+ - trimurti-0.1/ext
39
+ - trimurti-0.1/lib
40
+ - trimurti-0.1/tests
41
+ - trimurti-0.1/docs/classes
42
+ - trimurti-0.1/docs/created.rid
43
+ - trimurti-0.1/docs/dot
44
+ - trimurti-0.1/docs/files
45
+ - trimurti-0.1/docs/fr_class_index.html
46
+ - trimurti-0.1/docs/fr_file_index.html
47
+ - trimurti-0.1/docs/fr_method_index.html
48
+ - trimurti-0.1/docs/images
49
+ - trimurti-0.1/docs/index.html
50
+ - trimurti-0.1/docs/rdoc-style.css
51
+ - trimurti-0.1/docs/classes/Array.html
52
+ - trimurti-0.1/docs/classes/Array.src
53
+ - trimurti-0.1/docs/classes/Asserter.html
54
+ - trimurti-0.1/docs/classes/Brahma.html
55
+ - trimurti-0.1/docs/classes/Brahma.src
56
+ - trimurti-0.1/docs/classes/ComponentSpec.html
57
+ - trimurti-0.1/docs/classes/ComponentSpec.src
58
+ - trimurti-0.1/docs/classes/DRb.html
59
+ - trimurti-0.1/docs/classes/DRb.src
60
+ - trimurti-0.1/docs/classes/GUID.html
61
+ - trimurti-0.1/docs/classes/Linda.html
62
+ - trimurti-0.1/docs/classes/Linda.src
63
+ - trimurti-0.1/docs/classes/Object.html
64
+ - trimurti-0.1/docs/classes/Object.src
65
+ - trimurti-0.1/docs/classes/Plugins
66
+ - trimurti-0.1/docs/classes/Plugins.html
67
+ - trimurti-0.1/docs/classes/Plugins.src
68
+ - trimurti-0.1/docs/classes/QBE_ID.html
69
+ - trimurti-0.1/docs/classes/QBE_ID.src
70
+ - trimurti-0.1/docs/classes/QueryByExample.html
71
+ - trimurti-0.1/docs/classes/QueryByExample.src
72
+ - trimurti-0.1/docs/classes/Shiva.html
73
+ - trimurti-0.1/docs/classes/Shiva.src
74
+ - trimurti-0.1/docs/classes/String.html
75
+ - trimurti-0.1/docs/classes/String.src
76
+ - trimurti-0.1/docs/classes/Symbol.html
77
+ - trimurti-0.1/docs/classes/Symbol.src
78
+ - trimurti-0.1/docs/classes/Trimurti.html
79
+ - trimurti-0.1/docs/classes/Trimurti.src
80
+ - trimurti-0.1/docs/classes/Vishnu.html
81
+ - trimurti-0.1/docs/classes/Vishnu.src
82
+ - trimurti-0.1/docs/classes/Array.src/M000005.html
83
+ - trimurti-0.1/docs/classes/Array.src/M000006.html
84
+ - trimurti-0.1/docs/classes/Brahma.src/M000029.html
85
+ - trimurti-0.1/docs/classes/Brahma.src/M000030.html
86
+ - trimurti-0.1/docs/classes/Brahma.src/M000031.html
87
+ - trimurti-0.1/docs/classes/Brahma.src/M000032.html
88
+ - trimurti-0.1/docs/classes/Brahma.src/M000033.html
89
+ - trimurti-0.1/docs/classes/Brahma.src/M000034.html
90
+ - trimurti-0.1/docs/classes/Brahma.src/M000035.html
91
+ - trimurti-0.1/docs/classes/Brahma.src/M000036.html
92
+ - trimurti-0.1/docs/classes/Brahma.src/M000037.html
93
+ - trimurti-0.1/docs/classes/ComponentSpec.src/M000001.html
94
+ - trimurti-0.1/docs/classes/ComponentSpec.src/M000002.html
95
+ - trimurti-0.1/docs/classes/DRb.src/M000062.html
96
+ - trimurti-0.1/docs/classes/DRb.src/M000063.html
97
+ - trimurti-0.1/docs/classes/Linda.src/M000007.html
98
+ - trimurti-0.1/docs/classes/Linda.src/M000008.html
99
+ - trimurti-0.1/docs/classes/Linda.src/M000009.html
100
+ - trimurti-0.1/docs/classes/Linda.src/M000010.html
101
+ - trimurti-0.1/docs/classes/Linda.src/M000011.html
102
+ - trimurti-0.1/docs/classes/Linda.src/M000012.html
103
+ - trimurti-0.1/docs/classes/Linda.src/M000013.html
104
+ - trimurti-0.1/docs/classes/Linda.src/M000014.html
105
+ - trimurti-0.1/docs/classes/Linda.src/M000015.html
106
+ - trimurti-0.1/docs/classes/Linda.src/M000016.html
107
+ - trimurti-0.1/docs/classes/Linda.src/M000017.html
108
+ - trimurti-0.1/docs/classes/Linda.src/M000018.html
109
+ - trimurti-0.1/docs/classes/Object.src/M000021.html
110
+ - trimurti-0.1/docs/classes/Plugins/Spec.html
111
+ - trimurti-0.1/docs/classes/Plugins/Spec.src
112
+ - trimurti-0.1/docs/classes/Plugins/Spec.src/M000026.html
113
+ - trimurti-0.1/docs/classes/Plugins/Spec.src/M000027.html
114
+ - trimurti-0.1/docs/classes/Plugins/Spec.src/M000028.html
115
+ - trimurti-0.1/docs/classes/Plugins.src/M000024.html
116
+ - trimurti-0.1/docs/classes/Plugins.src/M000025.html
117
+ - trimurti-0.1/docs/classes/QBE_ID.src/M000059.html
118
+ - trimurti-0.1/docs/classes/QueryByExample.src/M000054.html
119
+ - trimurti-0.1/docs/classes/QueryByExample.src/M000055.html
120
+ - trimurti-0.1/docs/classes/QueryByExample.src/M000056.html
121
+ - trimurti-0.1/docs/classes/QueryByExample.src/M000057.html
122
+ - trimurti-0.1/docs/classes/QueryByExample.src/M000058.html
123
+ - trimurti-0.1/docs/classes/Shiva.src/M000060.html
124
+ - trimurti-0.1/docs/classes/Shiva.src/M000061.html
125
+ - trimurti-0.1/docs/classes/String.src/M000022.html
126
+ - trimurti-0.1/docs/classes/String.src/M000023.html
127
+ - trimurti-0.1/docs/classes/Symbol.src/M000003.html
128
+ - trimurti-0.1/docs/classes/Symbol.src/M000004.html
129
+ - trimurti-0.1/docs/classes/Trimurti.src/M000019.html
130
+ - trimurti-0.1/docs/classes/Trimurti.src/M000020.html
131
+ - trimurti-0.1/docs/classes/Vishnu.src/M000038.html
132
+ - trimurti-0.1/docs/classes/Vishnu.src/M000039.html
133
+ - trimurti-0.1/docs/classes/Vishnu.src/M000040.html
134
+ - trimurti-0.1/docs/classes/Vishnu.src/M000041.html
135
+ - trimurti-0.1/docs/classes/Vishnu.src/M000042.html
136
+ - trimurti-0.1/docs/classes/Vishnu.src/M000043.html
137
+ - trimurti-0.1/docs/classes/Vishnu.src/M000044.html
138
+ - trimurti-0.1/docs/classes/Vishnu.src/M000045.html
139
+ - trimurti-0.1/docs/classes/Vishnu.src/M000046.html
140
+ - trimurti-0.1/docs/classes/Vishnu.src/M000047.html
141
+ - trimurti-0.1/docs/classes/Vishnu.src/M000048.html
142
+ - trimurti-0.1/docs/classes/Vishnu.src/M000049.html
143
+ - trimurti-0.1/docs/classes/Vishnu.src/M000050.html
144
+ - trimurti-0.1/docs/classes/Vishnu.src/M000051.html
145
+ - trimurti-0.1/docs/classes/Vishnu.src/M000052.html
146
+ - trimurti-0.1/docs/classes/Vishnu.src/M000053.html
147
+ - trimurti-0.1/docs/dot/f_0.dot
148
+ - trimurti-0.1/docs/dot/f_0.png
149
+ - trimurti-0.1/docs/dot/f_1.dot
150
+ - trimurti-0.1/docs/dot/f_1.png
151
+ - trimurti-0.1/docs/dot/f_2.dot
152
+ - trimurti-0.1/docs/dot/f_2.png
153
+ - trimurti-0.1/docs/dot/f_3.dot
154
+ - trimurti-0.1/docs/dot/f_3.png
155
+ - trimurti-0.1/docs/dot/f_4.dot
156
+ - trimurti-0.1/docs/dot/f_4.png
157
+ - trimurti-0.1/docs/dot/f_5.dot
158
+ - trimurti-0.1/docs/dot/f_5.png
159
+ - trimurti-0.1/docs/dot/f_6.dot
160
+ - trimurti-0.1/docs/dot/f_6.png
161
+ - trimurti-0.1/docs/dot/m_3_0.dot
162
+ - trimurti-0.1/docs/dot/m_3_0.png
163
+ - trimurti-0.1/docs/dot/m_4_0.dot
164
+ - trimurti-0.1/docs/dot/m_4_0.png
165
+ - trimurti-0.1/docs/dot/m_5_0.dot
166
+ - trimurti-0.1/docs/dot/m_5_0.png
167
+ - trimurti-0.1/docs/dot/m_5_1.dot
168
+ - trimurti-0.1/docs/dot/m_5_1.png
169
+ - trimurti-0.1/docs/dot/m_6_0.dot
170
+ - trimurti-0.1/docs/dot/m_6_0.png
171
+ - trimurti-0.1/docs/dot/m_6_1.dot
172
+ - trimurti-0.1/docs/dot/m_6_1.png
173
+ - trimurti-0.1/docs/dot/m_6_2.dot
174
+ - trimurti-0.1/docs/dot/m_6_2.png
175
+ - trimurti-0.1/docs/files/License_txt.html
176
+ - trimurti-0.1/docs/files/nist
177
+ - trimurti-0.1/docs/files/ReadMe_Amber_txt.html
178
+ - trimurti-0.1/docs/files/ReadMe_txt.html
179
+ - trimurti-0.1/docs/files/nist/trimurti
180
+ - trimurti-0.1/docs/files/nist/trimurti/linda_rb.html
181
+ - trimurti-0.1/docs/files/nist/trimurti/plugins_rb.html
182
+ - trimurti-0.1/docs/files/nist/trimurti/queryByExample_rb.html
183
+ - trimurti-0.1/docs/files/nist/trimurti/trimurti_rb.html
184
+ - trimurti-0.1/docs/images/overview.jpg
185
+ - trimurti-0.1/lib/nist
186
+ - trimurti-0.1/lib/nist/trimurti
187
+ - trimurti-0.1/lib/nist/trimurti/linda.rb
188
+ - trimurti-0.1/lib/nist/trimurti/plugins.rb
189
+ - trimurti-0.1/lib/nist/trimurti/queryByExample.rb
190
+ - trimurti-0.1/lib/nist/trimurti/trimurti.rb
191
+ - trimurti-0.1/tests/test_linda.rb
192
+ - trimurti-0.1/tests/test_trimurti.rb
193
+ test_files:
194
+ - trimurti-0.1/tests/test_linda.rb
195
+ - trimurti-0.1/tests/test_trimurti.rb
196
+ rdoc_options: []
197
+ extra_rdoc_files: []
198
+ executables: []
199
+ extensions: []
200
+ requirements: []
201
+ dependencies:
202
+ - !ruby/object:Gem::Dependency
203
+ name: common
204
+ version_requirement:
205
+ version_requirements: !ruby/object:Gem::Version::Requirement
206
+ requirements:
207
+ -
208
+ - ">"
209
+ - !ruby/object:Gem::Version
210
+ version: 0.0.0
211
+ version:
212
+ - !ruby/object:Gem::Dependency
213
+ name: log4r-1.0.5
214
+ version_requirement:
215
+ version_requirements: !ruby/object:Gem::Version::Requirement
216
+ requirements:
217
+ -
218
+ - ">"
219
+ - !ruby/object:Gem::Version
220
+ version: 0.0.0
221
+ version:
222
+ - !ruby/object:Gem::Dependency
223
+ name: rgl-0.2.3
224
+ version_requirement:
225
+ version_requirements: !ruby/object:Gem::Version::Requirement
226
+ requirements:
227
+ -
228
+ - ">"
229
+ - !ruby/object:Gem::Version
230
+ version: 0.0.0
231
+ version:
232
+ - !ruby/object:Gem::Dependency
233
+ name: stream-0.5
234
+ version_requirement:
235
+ version_requirements: !ruby/object:Gem::Version::Requirement
236
+ requirements:
237
+ -
238
+ - ">"
239
+ - !ruby/object:Gem::Version
240
+ version: 0.0.0
241
+ version: