bio 1.4.2 → 1.4.3

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.
Files changed (139) hide show
  1. data/.travis.yml +66 -0
  2. data/ChangeLog +989 -4524
  3. data/KNOWN_ISSUES.rdoc +67 -2
  4. data/README.rdoc +89 -23
  5. data/README_DEV.rdoc +93 -2
  6. data/RELEASE_NOTES.rdoc +167 -95
  7. data/Rakefile +199 -7
  8. data/bioruby.gemspec +27 -12
  9. data/bioruby.gemspec.erb +6 -3
  10. data/doc/ChangeLog-before-1.4.2 +5013 -0
  11. data/doc/RELEASE_NOTES-1.4.2.rdoc +132 -0
  12. data/doc/Tutorial.rd +21 -3
  13. data/doc/Tutorial.rd.html +20 -12
  14. data/etc/bioinformatics/seqdatabase.ini +13 -196
  15. data/gemfiles/Gemfile.travis-jruby1.8 +7 -0
  16. data/gemfiles/Gemfile.travis-jruby1.9 +10 -0
  17. data/gemfiles/Gemfile.travis-ruby1.8 +7 -0
  18. data/gemfiles/Gemfile.travis-ruby1.9 +10 -0
  19. data/gemfiles/modify-Gemfile.rb +28 -0
  20. data/gemfiles/prepare-gemspec.rb +25 -0
  21. data/lib/bio/alignment.rb +1 -1
  22. data/lib/bio/appl/bl2seq/report.rb +3 -3
  23. data/lib/bio/appl/blast/ddbj.rb +0 -3
  24. data/lib/bio/appl/blast/format0.rb +4 -22
  25. data/lib/bio/appl/blast/genomenet.rb +33 -16
  26. data/lib/bio/appl/blast/ncbioptions.rb +8 -3
  27. data/lib/bio/appl/blast/remote.rb +6 -5
  28. data/lib/bio/appl/blast/report.rb +10 -6
  29. data/lib/bio/appl/blast/rpsblast.rb +3 -2
  30. data/lib/bio/appl/blast/wublast.rb +3 -3
  31. data/lib/bio/command.rb +118 -36
  32. data/lib/bio/data/na.rb +1 -1
  33. data/lib/bio/db/embl/embl.rb +74 -0
  34. data/lib/bio/db/embl/format_embl.rb +0 -4
  35. data/lib/bio/db/fasta.rb +57 -45
  36. data/lib/bio/db/fasta/defline.rb +1 -1
  37. data/lib/bio/db/fasta/format_fasta.rb +0 -4
  38. data/lib/bio/db/fasta/format_qual.rb +0 -5
  39. data/lib/bio/db/fastq/format_fastq.rb +0 -1
  40. data/lib/bio/db/genbank/format_genbank.rb +0 -4
  41. data/lib/bio/db/gff.rb +41 -12
  42. data/lib/bio/db/kegg/genes.rb +3 -3
  43. data/lib/bio/db/kegg/kgml.rb +465 -64
  44. data/lib/bio/db/newick.rb +0 -244
  45. data/lib/bio/db/pdb.rb +1 -4
  46. data/lib/bio/db/pdb/atom.rb +3 -2
  47. data/lib/bio/db/pdb/chain.rb +2 -3
  48. data/lib/bio/db/pdb/chemicalcomponent.rb +3 -2
  49. data/lib/bio/db/pdb/model.rb +2 -2
  50. data/lib/bio/db/pdb/pdb.rb +2 -1
  51. data/lib/bio/db/pdb/residue.rb +2 -2
  52. data/lib/bio/db/pdb/utils.rb +7 -4
  53. data/lib/bio/db/phyloxml/phyloxml_parser.rb +52 -5
  54. data/lib/bio/feature.rb +2 -3
  55. data/lib/bio/io/flatfile/autodetection.rb +1 -1
  56. data/lib/bio/io/flatfile/buffer.rb +84 -0
  57. data/lib/bio/sequence.rb +6 -4
  58. data/lib/bio/sequence/aa.rb +3 -5
  59. data/lib/bio/sequence/adapter.rb +6 -6
  60. data/lib/bio/sequence/common.rb +3 -3
  61. data/lib/bio/sequence/compat.rb +2 -7
  62. data/lib/bio/sequence/dblink.rb +6 -5
  63. data/lib/bio/sequence/format.rb +0 -6
  64. data/lib/bio/sequence/format_raw.rb +0 -4
  65. data/lib/bio/sequence/generic.rb +3 -4
  66. data/lib/bio/sequence/na.rb +4 -6
  67. data/lib/bio/sequence/quality_score.rb +2 -0
  68. data/lib/bio/sequence/sequence_masker.rb +3 -0
  69. data/lib/bio/shell/core.rb +1 -0
  70. data/lib/bio/tree.rb +1 -2
  71. data/lib/bio/tree/output.rb +264 -0
  72. data/lib/bio/util/restriction_enzyme.rb +1 -3
  73. data/lib/bio/util/restriction_enzyme/analysis.rb +8 -5
  74. data/lib/bio/util/restriction_enzyme/analysis_basic.rb +4 -3
  75. data/lib/bio/util/restriction_enzyme/cut_symbol.rb +3 -2
  76. data/lib/bio/util/restriction_enzyme/dense_int_array.rb +3 -0
  77. data/lib/bio/util/restriction_enzyme/double_stranded.rb +3 -4
  78. data/lib/bio/util/restriction_enzyme/double_stranded/aligned_strands.rb +3 -4
  79. data/lib/bio/util/restriction_enzyme/double_stranded/cut_location_pair.rb +3 -4
  80. data/lib/bio/util/restriction_enzyme/double_stranded/cut_location_pair_in_enzyme_notation.rb +3 -4
  81. data/lib/bio/util/restriction_enzyme/double_stranded/cut_locations.rb +3 -4
  82. data/lib/bio/util/restriction_enzyme/double_stranded/cut_locations_in_enzyme_notation.rb +3 -4
  83. data/lib/bio/util/restriction_enzyme/range/cut_range.rb +3 -4
  84. data/lib/bio/util/restriction_enzyme/range/cut_ranges.rb +3 -4
  85. data/lib/bio/util/restriction_enzyme/range/horizontal_cut_range.rb +3 -4
  86. data/lib/bio/util/restriction_enzyme/range/sequence_range.rb +3 -4
  87. data/lib/bio/util/restriction_enzyme/range/sequence_range/calculated_cuts.rb +3 -4
  88. data/lib/bio/util/restriction_enzyme/range/sequence_range/fragment.rb +3 -4
  89. data/lib/bio/util/restriction_enzyme/range/sequence_range/fragments.rb +3 -4
  90. data/lib/bio/util/restriction_enzyme/range/vertical_cut_range.rb +3 -4
  91. data/lib/bio/util/restriction_enzyme/single_strand.rb +3 -3
  92. data/lib/bio/util/restriction_enzyme/single_strand/cut_locations_in_enzyme_notation.rb +3 -4
  93. data/lib/bio/util/restriction_enzyme/single_strand_complement.rb +3 -4
  94. data/lib/bio/util/restriction_enzyme/sorted_num_array.rb +3 -0
  95. data/lib/bio/util/restriction_enzyme/string_formatting.rb +3 -4
  96. data/lib/bio/version.rb +11 -2
  97. data/sample/seqdatabase.ini +210 -0
  98. data/test/bioruby_test_helper.rb +37 -12
  99. data/test/data/KEGG/test.kgml +37 -0
  100. data/test/data/command/echoarg2.bat +0 -0
  101. data/test/data/command/echoarg2.sh +4 -0
  102. data/test/functional/bio/test_command.rb +58 -28
  103. data/test/{functional → network}/bio/appl/blast/test_remote.rb +0 -0
  104. data/test/{functional → network}/bio/appl/test_blast.rb +0 -0
  105. data/test/{functional → network}/bio/appl/test_pts1.rb +0 -0
  106. data/test/{functional → network}/bio/io/test_ddbjrest.rb +0 -0
  107. data/test/{functional → network}/bio/io/test_ensembl.rb +0 -0
  108. data/test/{functional → network}/bio/io/test_pubmed.rb +0 -0
  109. data/test/{functional → network}/bio/io/test_soapwsdl.rb +0 -0
  110. data/test/{functional → network}/bio/io/test_togows.rb +0 -0
  111. data/test/network/bio/test_command.rb +35 -0
  112. data/test/runner.rb +16 -6
  113. data/test/unit/bio/appl/blast/test_report.rb +119 -0
  114. data/test/unit/bio/appl/blast/test_rpsblast.rb +1 -0
  115. data/test/unit/bio/data/test_na.rb +1 -1
  116. data/test/unit/bio/db/embl/test_embl.rb +2 -7
  117. data/test/unit/bio/db/embl/test_embl_rel89.rb +2 -7
  118. data/test/unit/bio/db/fasta/test_defline.rb +1 -1
  119. data/test/unit/bio/db/genbank/test_genpept.rb +1 -1
  120. data/test/unit/bio/db/kegg/test_drug.rb +1 -1
  121. data/test/unit/bio/db/kegg/test_genome.rb +1 -1
  122. data/test/unit/bio/db/kegg/test_glycan.rb +1 -1
  123. data/test/unit/bio/db/kegg/test_kgml.rb +1022 -0
  124. data/test/unit/bio/db/sanger_chromatogram/test_abif.rb +2 -1
  125. data/test/unit/bio/db/sanger_chromatogram/test_scf.rb +4 -2
  126. data/test/unit/bio/db/test_newick.rb +2 -0
  127. data/test/unit/bio/db/test_phyloxml.rb +54 -2
  128. data/test/unit/bio/db/test_phyloxml_writer.rb +15 -9
  129. data/test/unit/bio/db/test_soft.rb +1 -1
  130. data/test/unit/bio/io/flatfile/test_autodetection.rb +6 -0
  131. data/test/unit/bio/io/flatfile/test_buffer.rb +141 -0
  132. data/test/unit/bio/sequence/test_common.rb +36 -4
  133. data/test/unit/bio/sequence/test_na.rb +1 -1
  134. data/test/unit/bio/test_command.rb +9 -4
  135. data/test/unit/bio/test_sequence.rb +2 -2
  136. data/test/unit/bio/test_tree.rb +11 -11
  137. data/test/unit/bio/util/test_restriction_enzyme.rb +1 -1
  138. metadata +1428 -655
  139. data/rdoc.zsh +0 -8
@@ -42,7 +42,7 @@ module Bio
42
42
  end
43
43
 
44
44
  def test_to_re
45
- re = /[tcy][agr][atw][gcw][tgk][acm][tgcyskb][atgrwkd][agcmrsv][atgcyrwskmbdhvn]atgc/
45
+ re = /[tcy][agr][atw][gcs][tgk][acm][tgcyskb][atgrwkd][agcmrsv][atgcyrwskmbdhvn]atgc/
46
46
  str = 'yrwskmbdvnatgc'
47
47
  str0 = str.clone
48
48
  assert_equal(re, @obj.to_re(str))
@@ -124,13 +124,8 @@ module Bio
124
124
  end
125
125
 
126
126
  def test_os
127
- # assert_equal('', @obj.os)
128
- assert_raises(RuntimeError) { @obj.os }
129
- end
130
-
131
- def test_os_valid
132
- @obj.instance_eval { @data['OS'] = "Haplochromis sp. 'muzu rukwa'" }
133
- assert_equal("Haplochromis sp. 'muzu rukwa'", @obj.os)
127
+ assert_equal("Haplochromis sp. 'muzu, rukwa'", @obj.os[0]['os'])
128
+ assert_nil(@obj.os[0]['name'])
134
129
  end
135
130
 
136
131
  # Bio::EMBLDB::COMMON#oc
@@ -129,13 +129,8 @@ module Bio
129
129
  end
130
130
 
131
131
  def test_os
132
- # assert_equal('', @obj.os)
133
- assert_raises(RuntimeError) { @obj.os }
134
- end
135
-
136
- def test_os_valid
137
- @obj.instance_eval { @data['OS'] = "Haplochromis sp. 'muzu rukwa'" }
138
- assert_equal("Haplochromis sp. 'muzu rukwa'", @obj.os)
132
+ assert_equal("Haplochromis sp. 'muzu, rukwa'", @obj.os[0]['os'])
133
+ assert_nil(@obj.os[0]['name'])
139
134
  end
140
135
 
141
136
  # Bio::EMBLDB::COMMON#oc
@@ -12,7 +12,7 @@ load Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 4,
12
12
 
13
13
  # libraries needed for the tests
14
14
  require 'test/unit'
15
- require 'bio/db/fasta/defline.rb'
15
+ require 'bio/db/fasta/defline'
16
16
 
17
17
  module Bio
18
18
  class TestBioFastaDefline < Test::Unit::TestCase
@@ -12,7 +12,7 @@ load Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 4,
12
12
 
13
13
  # libraries needed for the tests
14
14
  require 'test/unit'
15
- require 'bio/db/genbank/genpept.rb'
15
+ require 'bio/db/genbank/genpept'
16
16
 
17
17
  #The coverage of this class is 100%
18
18
  #It tests only the methods descripbed in the soruce class.(It dosen't test the inherited methods from NCBIDB)
@@ -12,7 +12,7 @@ load Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 4,
12
12
 
13
13
  # libraries needed for the tests
14
14
  require 'test/unit'
15
- require 'bio/db/kegg/drug.rb'
15
+ require 'bio/db/kegg/drug'
16
16
 
17
17
  module Bio
18
18
  class TestBioKeggDRUG < Test::Unit::TestCase
@@ -12,7 +12,7 @@ load Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 4,
12
12
 
13
13
  # libraries needed for the tests
14
14
  require 'test/unit'
15
- require 'bio/db/kegg/genome.rb'
15
+ require 'bio/db/kegg/genome'
16
16
 
17
17
  module Bio
18
18
  class TestBioKEGGGENOME_T00005 < Test::Unit::TestCase
@@ -12,7 +12,7 @@ load Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 4,
12
12
 
13
13
  # libraries needed for the tests
14
14
  require 'test/unit'
15
- require 'bio/db/kegg/glycan.rb'
15
+ require 'bio/db/kegg/glycan'
16
16
 
17
17
  module Bio
18
18
 
@@ -0,0 +1,1022 @@
1
+ #
2
+ # test/unit/bio/db/kegg/test_kgml.rb - Unit test for Bio::KEGG::KGML
3
+ #
4
+ # Copyright (C) 2012 Naohisa Goto <ng@bioruby.org>
5
+ # License:: The Ruby License
6
+
7
+ # loading helper routine for testing bioruby
8
+ require 'pathname'
9
+ load Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 4,
10
+ 'bioruby_test_helper.rb')).cleanpath.to_s
11
+
12
+ # libraries needed for the tests
13
+ require 'test/unit'
14
+ require 'bio/db/kegg/kgml'
15
+
16
+ module Bio; module TestKeggKGML
17
+
18
+ filename = File.join(BioRubyTestDataPath, 'KEGG', 'test.kgml')
19
+ KGMLTestXMLstr = File.read(filename).freeze
20
+
21
+ class TestKGMLPathway < Test::Unit::TestCase
22
+ def setup
23
+ xmlstr = KGMLTestXMLstr
24
+ @obj = Bio::KEGG::KGML.new(xmlstr)
25
+ end
26
+
27
+ def test_name
28
+ assert_equal 'path:xxx09876', @obj.name
29
+ end
30
+
31
+ def test_org
32
+ assert_equal 'xxx', @obj.org
33
+ end
34
+
35
+ def test_number
36
+ assert_equal '09876', @obj.number
37
+ end
38
+
39
+ def test_title
40
+ assert_equal 'This is test title', @obj.title
41
+ end
42
+
43
+ def test_image
44
+ assert_equal 'http://example.com/pathway/ec/09876.png', @obj.image
45
+ end
46
+
47
+ def test_link
48
+ assert_equal 'http://example.com/show_pathway?xxx09876', @obj.link
49
+ end
50
+
51
+ def test_entries__size
52
+ assert_equal 3, @obj.entries.size
53
+ end
54
+
55
+ def test_relations__size
56
+ assert_equal 1, @obj.relations.size
57
+ end
58
+
59
+ def test_reactions__size
60
+ assert_equal 1, @obj.reactions.size
61
+ end
62
+
63
+ def test_entries=()
64
+ a = [ nil, nil, nil ]
65
+ b = [ nil, nil, nil, nil ]
66
+ assert_equal a, (@obj.entries = a)
67
+ assert_equal a, @obj.entries
68
+ assert_equal b, (@obj.entries = b)
69
+ assert_equal b, @obj.entries
70
+ end
71
+
72
+ def test_relations=()
73
+ a = [ nil, nil, nil ]
74
+ b = [ nil, nil, nil, nil ]
75
+ assert_equal a, (@obj.relations = a)
76
+ assert_equal a, @obj.relations
77
+ assert_equal b, (@obj.relations = b)
78
+ assert_equal b, @obj.relations
79
+ end
80
+
81
+ def test_reactions=()
82
+ a = [ nil, nil, nil ]
83
+ b = [ nil, nil, nil, nil ]
84
+ assert_equal a, (@obj.reactions = a)
85
+ assert_equal a, @obj.reactions
86
+ assert_equal b, (@obj.reactions = b)
87
+ assert_equal b, @obj.reactions
88
+ end
89
+ end #class TestKGMLPathway
90
+
91
+ class TestKGMLEntrySetter < Test::Unit::TestCase
92
+ def setup
93
+ @obj = Bio::KEGG::KGML::Entry.new
94
+ end
95
+
96
+ def test_id=()
97
+ assert_nil @obj.id
98
+ assert_equal 1234, (@obj.id = 1234)
99
+ assert_equal 1234, @obj.id
100
+ assert_equal 4567, (@obj.id = 4567)
101
+ assert_equal 4567, @obj.id
102
+ end
103
+
104
+ def test_name=()
105
+ assert_nil @obj.name
106
+ assert_equal 'cpd:C99999', (@obj.name = 'cpd:C99999')
107
+ assert_equal 'cpd:C99999', @obj.name
108
+ assert_equal 'cpd:C98765', (@obj.name = 'cpd:C98765')
109
+ assert_equal 'cpd:C98765', @obj.name
110
+ end
111
+
112
+ def test_type=()
113
+ assert_equal 'compound', (@obj.type = 'compound')
114
+ assert_equal 'compound', @obj.type
115
+ assert_equal 'enzyme', (@obj.type = 'enzyme')
116
+ assert_equal 'enzyme', @obj.type
117
+ end
118
+
119
+ def test_link=()
120
+ str1 = 'http://example.com/dbget-bin/www_bget?C99999'.freeze
121
+ str2 = 'http://example.com/dbget-bin/www_bget?C98765'.freeze
122
+ assert_equal str1, (@obj.link = str1)
123
+ assert_equal str1, @obj.link
124
+ assert_equal str2, (@obj.link = str2)
125
+ assert_equal str2, @obj.link
126
+ end
127
+
128
+ def test_reaction=()
129
+ assert_equal "rn:R99999", (@obj.reaction = 'rn:R99999')
130
+ assert_equal "rn:R99999", @obj.reaction
131
+ assert_equal "rn:R98765", (@obj.reaction = 'rn:R98765')
132
+ assert_equal "rn:R98765", @obj.reaction
133
+ end
134
+
135
+ def test_graphics=()
136
+ a = [ nil, nil ]
137
+ b = [ nil, nil, nil ]
138
+ assert_equal a, (@obj.graphics = a)
139
+ assert_equal a, @obj.graphics
140
+ assert_equal b, (@obj.graphics = b)
141
+ assert_equal b, @obj.graphics
142
+ end
143
+
144
+ def test_components=()
145
+ a = [ nil, nil ]
146
+ b = [ nil, nil, nil ]
147
+ assert_equal a, (@obj.components = a)
148
+ assert_equal a, @obj.components
149
+ assert_equal b, (@obj.components = b)
150
+ assert_equal b, @obj.components
151
+ end
152
+ end #class TestKGMLEntrySetter
153
+
154
+ # for deprecated methods/attributes
155
+ class TestKGMLEntrySetterDeprecated < Test::Unit::TestCase
156
+ def setup
157
+ @obj = Bio::KEGG::KGML::Entry.new
158
+ end
159
+
160
+ def test_entry_id=()
161
+ assert_nil @obj.entry_id
162
+ assert_equal 1234, (@obj.entry_id = 1234)
163
+ assert_equal 1234, @obj.entry_id
164
+ assert_equal 4567, (@obj.entry_id = 4567)
165
+ assert_equal 4567, @obj.entry_id
166
+
167
+ assert_equal 4567, @obj.id
168
+ @obj.id = 7890
169
+ assert_equal 7890, @obj.entry_id
170
+ end
171
+
172
+ def test_category=()
173
+ assert_nil @obj.category
174
+ assert_equal 'compound', (@obj.category = 'compound')
175
+ assert_equal 'compound', @obj.category
176
+ assert_equal 'enzyme', (@obj.category = 'enzyme')
177
+ assert_equal 'enzyme', @obj.category
178
+
179
+ assert_equal 'enzyme', @obj.type
180
+ @obj.type = 'gene'
181
+ assert_equal 'gene', @obj.category
182
+ end
183
+
184
+ def test_pathway=()
185
+ assert_nil @obj.pathway
186
+ assert_equal 'deprecated', (@obj.pathway = 'deprecated')
187
+ assert_equal 'deprecated', @obj.pathway
188
+ assert_equal "don't use", (@obj.pathway = "don't use")
189
+ assert_equal "don't use", @obj.pathway
190
+ end
191
+
192
+ def test_label=()
193
+ assert_nil @obj.label
194
+ assert_equal 'deprecated', (@obj.label = 'deprecated')
195
+ assert_equal 'deprecated', @obj.label
196
+
197
+ assert_equal "don't use", (@obj.label = "don't use")
198
+ assert_equal "don't use", @obj.label
199
+
200
+ assert_equal "don't use", @obj.graphics[-1].name
201
+ @obj.graphics[-1].name = 'test'
202
+ assert_equal 'test', @obj.label
203
+ end
204
+
205
+ def test_shape=()
206
+ assert_nil @obj.shape
207
+ assert_equal 'deprecated', (@obj.shape = 'deprecated')
208
+ assert_equal 'deprecated', @obj.shape
209
+
210
+ assert_equal "don't use", (@obj.shape = "don't use")
211
+ assert_equal "don't use", @obj.shape
212
+
213
+ assert_equal "don't use", @obj.graphics[-1].type
214
+ @obj.graphics[-1].type = 'test'
215
+ assert_equal 'test', @obj.shape
216
+ end
217
+
218
+ def test_x=()
219
+ assert_equal 123, (@obj.x = 123)
220
+ assert_equal 123, @obj.x
221
+
222
+ assert_equal 456, (@obj.x = 456)
223
+ assert_equal 456, @obj.x
224
+
225
+ assert_equal 456, @obj.graphics[-1].x
226
+ @obj.graphics[-1].x = 789
227
+ assert_equal 789, @obj.x
228
+ end
229
+
230
+ def test_y=()
231
+ assert_equal 123, (@obj.y = 123)
232
+ assert_equal 123, @obj.y
233
+
234
+ assert_equal 456, (@obj.y = 456)
235
+ assert_equal 456, @obj.y
236
+
237
+ assert_equal 456, @obj.graphics[-1].y
238
+ @obj.graphics[-1].y = 789
239
+ assert_equal 789, @obj.y
240
+ end
241
+
242
+ def test_width=()
243
+ assert_equal 123, (@obj.width = 123)
244
+ assert_equal 123, @obj.width
245
+
246
+ assert_equal 456, (@obj.width = 456)
247
+ assert_equal 456, @obj.width
248
+
249
+ assert_equal 456, @obj.graphics[-1].width
250
+ @obj.graphics[-1].width = 789
251
+ assert_equal 789, @obj.width
252
+ end
253
+
254
+ def test_height=()
255
+ assert_equal 123, (@obj.height = 123)
256
+ assert_equal 123, @obj.height
257
+
258
+ assert_equal 456, (@obj.height = 456)
259
+ assert_equal 456, @obj.height
260
+
261
+ assert_equal 456, @obj.graphics[-1].height
262
+ @obj.graphics[-1].height = 789
263
+ assert_equal 789, @obj.height
264
+ end
265
+
266
+ def test_fgcolor=()
267
+ assert_equal "#E0E0E0", (@obj.fgcolor = "#E0E0E0")
268
+ assert_equal "#E0E0E0", @obj.fgcolor
269
+
270
+ assert_equal "#FFFFFF", (@obj.fgcolor = "#FFFFFF")
271
+ assert_equal "#FFFFFF", @obj.fgcolor
272
+
273
+ assert_equal "#FFFFFF", @obj.graphics[-1].fgcolor
274
+ @obj.graphics[-1].fgcolor = "#99CCFF"
275
+ assert_equal "#99CCFF", @obj.fgcolor
276
+ end
277
+
278
+ def test_bgcolor=()
279
+ assert_equal "#E0E0E0", (@obj.bgcolor = "#E0E0E0")
280
+ assert_equal "#E0E0E0", @obj.bgcolor
281
+
282
+ assert_equal "#FFFFFF", (@obj.bgcolor = "#FFFFFF")
283
+ assert_equal "#FFFFFF", @obj.bgcolor
284
+
285
+ assert_equal "#FFFFFF", @obj.graphics[-1].bgcolor
286
+ @obj.graphics[-1].bgcolor = "#99CCFF"
287
+ assert_equal "#99CCFF", @obj.bgcolor
288
+ end
289
+ end #class TestKGMLEntrySetterDeprecated
290
+
291
+ class TestKGMLEntry1234 < Test::Unit::TestCase
292
+ def setup
293
+ xmlstr = KGMLTestXMLstr
294
+ @obj = Bio::KEGG::KGML.new(xmlstr).entries[0]
295
+ end
296
+
297
+ def test_id
298
+ assert_equal 1234, @obj.id
299
+ end
300
+
301
+ def test_name
302
+ assert_equal 'cpd:C99999', @obj.name
303
+ end
304
+
305
+ def test_type
306
+ assert_equal 'compound', @obj.type
307
+ end
308
+
309
+ def test_link
310
+ assert_equal 'http://example.com/dbget-bin/www_bget?C99999', @obj.link
311
+ end
312
+
313
+ def test_reaction
314
+ assert_equal nil, @obj.reaction
315
+ end
316
+
317
+ def test_graphics__size
318
+ assert_equal 1, @obj.graphics.size
319
+ end
320
+
321
+ def test_components
322
+ assert_equal nil, @obj.components
323
+ end
324
+ end #class TestKGMLEntry1234
325
+
326
+ class TestKGMLEntry1 < Test::Unit::TestCase
327
+ def setup
328
+ xmlstr = KGMLTestXMLstr
329
+ @obj = Bio::KEGG::KGML.new(xmlstr).entries[1]
330
+ end
331
+
332
+ def test_id
333
+ assert_equal 1, @obj.id
334
+ end
335
+
336
+ def test_name
337
+ assert_equal 'ec:1.1.1.1', @obj.name
338
+ end
339
+
340
+ def test_type
341
+ assert_equal 'enzyme', @obj.type
342
+ end
343
+
344
+ def test_link
345
+ assert_equal 'http://example.com/dbget-bin/www_bget?1.1.1.1', @obj.link
346
+ end
347
+
348
+ def test_reaction
349
+ assert_equal 'rn:R99999', @obj.reaction
350
+ end
351
+
352
+ def test_graphics__size
353
+ assert_equal 2, @obj.graphics.size
354
+ end
355
+
356
+ def test_components
357
+ assert_equal nil, @obj.components
358
+ end
359
+ end #class TestKGMLEntry1
360
+
361
+ # for deprecated methods/attributes
362
+ class TestKGMLEntry1Deprecated < Test::Unit::TestCase
363
+ def setup
364
+ xmlstr = KGMLTestXMLstr
365
+ @obj = Bio::KEGG::KGML.new(xmlstr).entries[1]
366
+ end
367
+
368
+ def test_entry_id
369
+ assert_equal 1, @obj.entry_id
370
+ end
371
+
372
+ def test_category
373
+ assert_equal 'enzyme', @obj.category
374
+ end
375
+
376
+ def test_label=()
377
+ assert_equal '1.1.1.1', @obj.label
378
+ assert_equal '1.2.3.4', (@obj.label = '1.2.3.4')
379
+ assert_equal '1.2.3.4', @obj.label
380
+ assert_equal '1.2.3.4', @obj.graphics[-1].name
381
+ assert_equal '9.8.7.6', (@obj.graphics[-1].name = '9.8.7.6')
382
+ assert_equal '9.8.7.6', @obj.label
383
+ # check if it doesn't modify graphics[0]
384
+ assert_equal '1.1.1.1', @obj.graphics[0].name
385
+ end
386
+
387
+ def test_shape=()
388
+ assert_equal 'line', @obj.shape
389
+ assert_equal 'circle', (@obj.shape = 'circle')
390
+ assert_equal 'circle', @obj.shape
391
+ assert_equal 'circle', @obj.graphics[-1].type
392
+ assert_equal 'rectangle', (@obj.graphics[-1].type = 'rectangle')
393
+ assert_equal 'rectangle', @obj.shape
394
+ # check if it doesn't modify graphics[0]
395
+ assert_equal 'line', @obj.graphics[0].type
396
+ end
397
+
398
+ def test_x=()
399
+ assert_equal 0, @obj.x
400
+
401
+ assert_equal 123, (@obj.x = 123)
402
+ assert_equal 123, @obj.x
403
+
404
+ assert_equal 456, (@obj.x = 456)
405
+ assert_equal 456, @obj.x
406
+
407
+ assert_equal 456, @obj.graphics[-1].x
408
+ @obj.graphics[-1].x = 789
409
+ assert_equal 789, @obj.x
410
+
411
+ # check if it doesn't modify graphics[0]
412
+ assert_equal 0, @obj.graphics[0].x
413
+ end
414
+
415
+ def test_y=()
416
+ assert_equal 0, @obj.y
417
+
418
+ assert_equal 123, (@obj.y = 123)
419
+ assert_equal 123, @obj.y
420
+
421
+ assert_equal 456, (@obj.y = 456)
422
+ assert_equal 456, @obj.y
423
+
424
+ assert_equal 456, @obj.graphics[-1].y
425
+ @obj.graphics[-1].y = 789
426
+ assert_equal 789, @obj.y
427
+
428
+ # check if it doesn't modify graphics[0]
429
+ assert_equal 0, @obj.graphics[0].y
430
+ end
431
+
432
+ def test_width=()
433
+ assert_equal 0, @obj.width
434
+
435
+ assert_equal 123, (@obj.width = 123)
436
+ assert_equal 123, @obj.width
437
+
438
+ assert_equal 456, (@obj.width = 456)
439
+ assert_equal 456, @obj.width
440
+
441
+ assert_equal 456, @obj.graphics[-1].width
442
+ @obj.graphics[-1].width = 789
443
+ assert_equal 789, @obj.width
444
+
445
+ # check if it doesn't modify graphics[0]
446
+ assert_equal 0, @obj.graphics[0].width
447
+ end
448
+
449
+ def test_height=()
450
+ assert_equal 0, @obj.height
451
+
452
+ assert_equal 123, (@obj.height = 123)
453
+ assert_equal 123, @obj.height
454
+
455
+ assert_equal 456, (@obj.height = 456)
456
+ assert_equal 456, @obj.height
457
+
458
+ assert_equal 456, @obj.graphics[-1].height
459
+ @obj.graphics[-1].height = 789
460
+ assert_equal 789, @obj.height
461
+
462
+ # check if it doesn't modify graphics[0]
463
+ assert_equal 0, @obj.graphics[0].height
464
+ end
465
+
466
+ def test_fgcolor=()
467
+ assert_equal '#FF99CC', @obj.fgcolor
468
+
469
+ assert_equal "#E0E0E0", (@obj.fgcolor = "#E0E0E0")
470
+ assert_equal "#E0E0E0", @obj.fgcolor
471
+
472
+ assert_equal "#E0E0E0", @obj.graphics[-1].fgcolor
473
+ @obj.graphics[-1].fgcolor = "#C0C0C0"
474
+ assert_equal "#C0C0C0", @obj.fgcolor
475
+
476
+ # check if it doesn't modify graphics[0]
477
+ assert_equal "#99CCFF", @obj.graphics[0].fgcolor
478
+ end
479
+
480
+ def test_bgcolor=()
481
+ assert_equal "#CC99FF", @obj.bgcolor
482
+
483
+ assert_equal "#E0E0E0", (@obj.bgcolor = "#E0E0E0")
484
+ assert_equal "#E0E0E0", @obj.bgcolor
485
+
486
+ assert_equal "#E0E0E0", @obj.graphics[-1].bgcolor
487
+ @obj.graphics[-1].bgcolor = "#C0C0C0"
488
+ assert_equal "#C0C0C0", @obj.bgcolor
489
+
490
+ # check if it doesn't modify graphics[0]
491
+ assert_equal "#FFFFFF", @obj.graphics[0].bgcolor
492
+ end
493
+ end #class TestKGMLEntry1Deprecated
494
+
495
+ class TestKGMLEntry567 < Test::Unit::TestCase
496
+ def setup
497
+ xmlstr = KGMLTestXMLstr
498
+ @obj = Bio::KEGG::KGML.new(xmlstr).entries[2]
499
+ end
500
+
501
+ def test_id
502
+ assert_equal 567, @obj.id
503
+ end
504
+
505
+ def test_name
506
+ assert_equal 'undefined', @obj.name
507
+ end
508
+
509
+ def test_type
510
+ assert_equal 'group', @obj.type
511
+ end
512
+
513
+ def test_link
514
+ assert_equal nil, @obj.link
515
+ end
516
+
517
+ def test_reaction
518
+ assert_equal nil, @obj.reaction
519
+ end
520
+
521
+ def test_graphics__size
522
+ assert_equal 1, @obj.graphics.size
523
+ end
524
+
525
+ def test_components
526
+ assert_equal [ 34, 56, 78, 90 ], @obj.components
527
+ end
528
+ end #class TestKGMLEntry567
529
+
530
+ class TestKGMLGraphicsSetter < Test::Unit::TestCase
531
+ def setup
532
+ @obj = Bio::KEGG::KGML::Graphics.new
533
+ end
534
+
535
+ def test_name=()
536
+ assert_equal '1.1.1.1', (@obj.name = '1.1.1.1')
537
+ assert_equal '1.1.1.1', @obj.name
538
+ assert_equal 'C99999', (@obj.name = 'C99999')
539
+ assert_equal 'C99999', @obj.name
540
+ end
541
+
542
+ def test_type=()
543
+ assert_equal 'line', (@obj.type = 'line')
544
+ assert_equal 'line', @obj.type
545
+ assert_equal 'circle', (@obj.type = 'circle')
546
+ assert_equal 'circle', @obj.type
547
+ end
548
+
549
+ def test_x=()
550
+ assert_equal 123, (@obj.x = 123)
551
+ assert_equal 123, @obj.x
552
+ assert_equal 456, (@obj.x = 456)
553
+ assert_equal 456, @obj.x
554
+ end
555
+
556
+ def test_y=()
557
+ assert_equal 123, (@obj.y = 123)
558
+ assert_equal 123, @obj.y
559
+ assert_equal 456, (@obj.y = 456)
560
+ assert_equal 456, @obj.y
561
+ end
562
+
563
+ def test_width=()
564
+ assert_equal 123, (@obj.width = 123)
565
+ assert_equal 123, @obj.width
566
+ assert_equal 456, (@obj.width = 456)
567
+ assert_equal 456, @obj.width
568
+ end
569
+
570
+ def test_height=()
571
+ assert_equal 123, (@obj.height = 123)
572
+ assert_equal 123, @obj.height
573
+ assert_equal 456, (@obj.height = 456)
574
+ assert_equal 456, @obj.height
575
+ end
576
+
577
+ def test_fgcolor=()
578
+ assert_equal "#E0E0E0", (@obj.fgcolor = "#E0E0E0")
579
+ assert_equal "#E0E0E0", @obj.fgcolor
580
+ assert_equal "#FFFFFF", (@obj.fgcolor = "#FFFFFF")
581
+ assert_equal "#FFFFFF", @obj.fgcolor
582
+ end
583
+
584
+ def test_bgcolor=()
585
+ assert_equal "#E0E0E0", (@obj.bgcolor = "#E0E0E0")
586
+ assert_equal "#E0E0E0", @obj.bgcolor
587
+ assert_equal "#FFFFFF", (@obj.bgcolor = "#FFFFFF")
588
+ assert_equal "#FFFFFF", @obj.bgcolor
589
+ end
590
+
591
+ def test_coords=()
592
+ a = [[1, 2], [3, 4]]
593
+ b = [[5, 6], [7, 8], [9, 10]]
594
+ assert_equal a, (@obj.coords = a)
595
+ assert_equal a, @obj.coords
596
+ assert_equal b, (@obj.coords = b)
597
+ assert_equal b, @obj.coords
598
+ end
599
+ end #class TestKGMLGraphicsSetter
600
+
601
+ class TestKGMLGraphics1234 < Test::Unit::TestCase
602
+ def setup
603
+ xmlstr = KGMLTestXMLstr
604
+ @obj = Bio::KEGG::KGML.new(xmlstr).entries[0].graphics[0]
605
+ end
606
+
607
+ def test_name
608
+ assert_equal 'C99999', @obj.name
609
+ end
610
+
611
+ def test_type
612
+ assert_equal 'circle', @obj.type
613
+ end
614
+
615
+ def test_fgcolor
616
+ assert_equal "#E0E0E0", @obj.fgcolor
617
+ end
618
+
619
+ def test_bgcolor
620
+ assert_equal "#D0E0F0", @obj.bgcolor
621
+ end
622
+
623
+ def test_x
624
+ assert_equal 1314, @obj.x
625
+ end
626
+
627
+ def test_y
628
+ assert_equal 1008, @obj.y
629
+ end
630
+
631
+ def test_width
632
+ assert_equal 14, @obj.width
633
+ end
634
+
635
+ def test_height
636
+ assert_equal 28, @obj.height
637
+ end
638
+
639
+ def test_coords
640
+ assert_equal nil, @obj.coords
641
+ end
642
+ end #class TestKGMLGraphics1234
643
+
644
+ class TestKGMLGraphics1_0 < Test::Unit::TestCase
645
+ def setup
646
+ xmlstr = KGMLTestXMLstr
647
+ @obj = Bio::KEGG::KGML.new(xmlstr).entries[1].graphics[0]
648
+ end
649
+
650
+ def test_name
651
+ assert_equal '1.1.1.1', @obj.name
652
+ end
653
+
654
+ def test_type
655
+ assert_equal 'line', @obj.type
656
+ end
657
+
658
+ def test_fgcolor
659
+ assert_equal "#99CCFF", @obj.fgcolor
660
+ end
661
+
662
+ def test_bgcolor
663
+ assert_equal "#FFFFFF", @obj.bgcolor
664
+ end
665
+
666
+ def test_x
667
+ assert_equal 0, @obj.x
668
+ end
669
+
670
+ def test_y
671
+ assert_equal 0, @obj.y
672
+ end
673
+
674
+ def test_width
675
+ assert_equal 0, @obj.width
676
+ end
677
+
678
+ def test_height
679
+ assert_equal 0, @obj.height
680
+ end
681
+
682
+ def test_coords
683
+ assert_equal [[314,159], [265,358], [979,323]], @obj.coords
684
+ end
685
+ end #class TestKGMLGraphics1_0
686
+
687
+ class TestKGMLRelationSetter < Test::Unit::TestCase
688
+ def setup
689
+ @obj = Bio::KEGG::KGML::Relation.new
690
+ end
691
+
692
+ def test_entry1=()
693
+ assert_nil @obj.entry1
694
+ assert_equal 123, (@obj.entry1 = 123)
695
+ assert_equal 123, @obj.entry1
696
+ assert_equal 456, (@obj.entry1 = 456)
697
+ assert_equal 456, @obj.entry1
698
+ end
699
+
700
+ def test_entry2=()
701
+ assert_nil @obj.entry2
702
+ assert_equal 123, (@obj.entry2 = 123)
703
+ assert_equal 123, @obj.entry2
704
+ assert_equal 456, (@obj.entry2 = 456)
705
+ assert_equal 456, @obj.entry2
706
+ end
707
+
708
+ def test_type=()
709
+ assert_nil @obj.type
710
+ assert_equal "ECrel", (@obj.type = "ECrel")
711
+ assert_equal "ECrel", @obj.type
712
+ assert_equal "maplink", (@obj.type = "maplink")
713
+ assert_equal "maplink", @obj.type
714
+ end
715
+
716
+ def test_name=()
717
+ assert_nil @obj.name
718
+ assert_equal "hidden compound", (@obj.name = "hidden compound")
719
+ assert_equal "hidden compound", @obj.name
720
+ assert_equal "indirect effect", (@obj.name = "indirect effect")
721
+ assert_equal "indirect effect", @obj.name
722
+ end
723
+
724
+ def test_value=()
725
+ assert_nil @obj.value
726
+ assert_equal "123", (@obj.value = "123")
727
+ assert_equal "123", @obj.value
728
+ assert_equal "-->", (@obj.value = "-->")
729
+ assert_equal "-->", @obj.value
730
+ end
731
+ end #class TestKGMLRelationSetter
732
+
733
+ # for deprecated methods/attributes
734
+ class TestKGMLRelationDeprecated < Test::Unit::TestCase
735
+ def setup
736
+ @obj = Bio::KEGG::KGML::Relation.new
737
+ end
738
+
739
+ def test_node1=()
740
+ assert_nil @obj.node1
741
+ assert_equal 123, (@obj.node1 = 123)
742
+ assert_equal 123, @obj.node1
743
+ assert_equal 456, (@obj.node1 = 456)
744
+ assert_equal 456, @obj.node1
745
+
746
+ assert_equal 456, @obj.entry1
747
+ @obj.entry1 = 789
748
+ assert_equal 789, @obj.node1
749
+ end
750
+
751
+ def test_node2=()
752
+ assert_nil @obj.node2
753
+ assert_equal 123, (@obj.node2 = 123)
754
+ assert_equal 123, @obj.node2
755
+ assert_equal 456, (@obj.node2 = 456)
756
+ assert_equal 456, @obj.node2
757
+
758
+ assert_equal 456, @obj.entry2
759
+ @obj.entry2 = 789
760
+ assert_equal 789, @obj.node2
761
+ end
762
+
763
+ def test_rel=()
764
+ assert_nil @obj.rel
765
+ assert_equal "ECrel", (@obj.rel = "ECrel")
766
+ assert_equal "ECrel", @obj.rel
767
+ assert_equal "maplink", (@obj.rel = "maplink")
768
+ assert_equal "maplink", @obj.rel
769
+
770
+ assert_equal "maplink", @obj.type
771
+ @obj.type = "PCrel"
772
+ assert_equal "PCrel", @obj.rel
773
+ end
774
+
775
+ def test_edge
776
+ @obj.value = "123"
777
+ assert_equal 123, @obj.edge
778
+ end
779
+ end #class TestKGMLRelationDeprecated
780
+
781
+ class TestKGMLRelation < Test::Unit::TestCase
782
+ def setup
783
+ xmlstr = KGMLTestXMLstr
784
+ @obj = Bio::KEGG::KGML.new(xmlstr).relations[0]
785
+ end
786
+
787
+ def test_entry1
788
+ assert_equal 109, @obj.entry1
789
+ end
790
+
791
+ def test_entry2
792
+ assert_equal 87, @obj.entry2
793
+ end
794
+
795
+ def test_type
796
+ assert_equal "ECrel", @obj.type
797
+ end
798
+
799
+ def test_name
800
+ assert_equal "compound", @obj.name
801
+ end
802
+
803
+ def test_value
804
+ assert_equal "100", @obj.value
805
+ end
806
+ end #class TestKGMLRelation
807
+
808
+ class TestKGMLReactionSetter < Test::Unit::TestCase
809
+ def setup
810
+ @obj = Bio::KEGG::KGML::Reaction.new
811
+ end
812
+
813
+ def test_id=()
814
+ assert_nil @obj.id
815
+ assert_equal 1234, (@obj.id = 1234)
816
+ assert_equal 1234, @obj.id
817
+ assert_equal 4567, (@obj.id = 4567)
818
+ assert_equal 4567, @obj.id
819
+ end
820
+
821
+ def test_name=()
822
+ assert_nil @obj.name
823
+ assert_equal 'rn:R99999 rn:R99998',
824
+ (@obj.name = 'rn:R99999 rn:R99998')
825
+ assert_equal 'rn:R99999 rn:R99998', @obj.name
826
+ assert_equal 'rn:R98765 rn:R98764',
827
+ (@obj.name = 'rn:R98765 rn:R98764')
828
+ assert_equal 'rn:R98765 rn:R98764', @obj.name
829
+ end
830
+
831
+ def test_type=()
832
+ assert_nil @obj.type
833
+ assert_equal 'reversible', (@obj.type = 'reversible')
834
+ assert_equal 'reversible', @obj.type
835
+ assert_equal 'irreversible', (@obj.type = 'irreversible')
836
+ assert_equal 'irreversible', @obj.type
837
+ end
838
+
839
+ def test_substraces=()
840
+ assert_nil @obj.substrates
841
+ a = [ nil, nil ]
842
+ b = [ nil, nil, nil ]
843
+ assert_equal a, (@obj.substrates = a)
844
+ assert_equal a, @obj.substrates
845
+ assert_equal b, (@obj.substrates = b)
846
+ assert_equal b, @obj.substrates
847
+ end
848
+
849
+ def test_products=()
850
+ assert_nil @obj.products
851
+ a = [ nil, nil ]
852
+ b = [ nil, nil, nil ]
853
+ assert_equal a, (@obj.products = a)
854
+ assert_equal a, @obj.products
855
+ assert_equal b, (@obj.products = b)
856
+ assert_equal b, @obj.products
857
+ end
858
+
859
+ # TODO: add tests for alt
860
+ end #class TestKGMLReactionSetter
861
+
862
+ class TestKGMLReactionSetterDeprecated < Test::Unit::TestCase
863
+ def setup
864
+ @obj = Bio::KEGG::KGML::Reaction.new
865
+ end
866
+
867
+ def test_entry_id=()
868
+ assert_nil @obj.entry_id
869
+ assert_equal "rn:R99999 rn:R99998",
870
+ (@obj.entry_id = "rn:R99999 rn:R99998")
871
+ assert_equal "rn:R99999 rn:R99998", @obj.entry_id
872
+ assert_equal "rn:R99990 rn:R99991",
873
+ (@obj.entry_id = "rn:R99990 rn:R99991")
874
+ assert_equal "rn:R99990 rn:R99991", @obj.entry_id
875
+
876
+ assert_equal "rn:R99990 rn:R99991", @obj.name
877
+ @obj.name = "rn:R98765 rn:R98766"
878
+ assert_equal "rn:R98765 rn:R98766", @obj.entry_id
879
+ end
880
+
881
+ def test_direction=()
882
+ assert_nil @obj.direction
883
+ assert_equal 'reversible', (@obj.direction = 'reversible')
884
+ assert_equal 'reversible', @obj.direction
885
+ assert_equal 'irreversible', (@obj.direction = 'irreversible')
886
+ assert_equal 'irreversible', @obj.direction
887
+
888
+ assert_equal 'irreversible', @obj.type
889
+ @obj.type = 'this is test'
890
+ assert_equal 'this is test', @obj.direction
891
+ end
892
+ end #class TestKGMLReactionSetterDreprecated
893
+
894
+ class TestKGMLReaction < Test::Unit::TestCase
895
+ def setup
896
+ xmlstr = KGMLTestXMLstr
897
+ @obj = Bio::KEGG::KGML.new(xmlstr).reactions[0]
898
+ end
899
+
900
+ def test_id
901
+ assert_equal 3, @obj.id
902
+ end
903
+
904
+ def test_name
905
+ assert_equal "rn:R99999 rn:R99998", @obj.name
906
+ end
907
+
908
+ def test_type
909
+ assert_equal "reversible", @obj.type
910
+ end
911
+
912
+ def test_substrates
913
+ assert_equal [ "cpd:C99990", "cpd:C99991" ],
914
+ @obj.substrates.collect { |x| x.name }
915
+
916
+ assert_equal [ 3330, 3331 ],
917
+ @obj.substrates.collect { |x| x.id }
918
+ end
919
+
920
+ def test_products
921
+ assert_equal [ "cpd:C99902", "cpd:C99903" ],
922
+ @obj.products.collect { |x| x.name }
923
+
924
+ assert_equal [ 3332, 3333 ],
925
+ @obj.products.collect { |x| x.id }
926
+ end
927
+ end #class TestKGMLReaction
928
+
929
+ class TestKGMLSubstrate < Test::Unit::TestCase
930
+ def setup
931
+ xmlstr = KGMLTestXMLstr
932
+ @obj0 = Bio::KEGG::KGML.new(xmlstr).reactions[0].substrates[0]
933
+ @obj1 = Bio::KEGG::KGML.new(xmlstr).reactions[0].substrates[1]
934
+ end
935
+
936
+ def test_id
937
+ assert_equal 3330, @obj0.id
938
+ assert_equal 3331, @obj1.id
939
+ end
940
+
941
+ def test_name
942
+ assert_equal 'cpd:C99990', @obj0.name
943
+ assert_equal 'cpd:C99991', @obj1.name
944
+ end
945
+ end #class TestKGMLSubstrate
946
+
947
+ class TestKGMLProduct < Test::Unit::TestCase
948
+ def setup
949
+ xmlstr = KGMLTestXMLstr
950
+ @obj0 = Bio::KEGG::KGML.new(xmlstr).reactions[0].products[0]
951
+ @obj1 = Bio::KEGG::KGML.new(xmlstr).reactions[0].products[1]
952
+ end
953
+
954
+ def test_id
955
+ assert_equal 3332, @obj0.id
956
+ assert_equal 3333, @obj1.id
957
+ end
958
+
959
+ def test_name
960
+ assert_equal 'cpd:C99902', @obj0.name
961
+ assert_equal 'cpd:C99903', @obj1.name
962
+ end
963
+ end #class TestKGMLProduct
964
+
965
+ module TestKGMLSubstrateProductSetterMethods
966
+ def test_initialize_0
967
+ assert_nil @obj.id
968
+ assert_nil @obj.name
969
+ end
970
+
971
+ def test_initialize_1
972
+ obj = Bio::KEGG::KGML::SubstrateProduct.new(123)
973
+ assert_equal 123, obj.id
974
+ assert_nil obj.name
975
+ end
976
+
977
+ def test_initialize_2
978
+ obj = Bio::KEGG::KGML::SubstrateProduct.new(123, 'test')
979
+ assert_equal 123, obj.id
980
+ assert_equal 'test', obj.name
981
+ end
982
+
983
+ def test_id=()
984
+ assert_nil @obj.id
985
+ assert_equal 123, (@obj.id = 123)
986
+ assert_equal 123, @obj.id
987
+ assert_equal 456, (@obj.id = 456)
988
+ assert_equal 456, @obj.id
989
+ end
990
+
991
+ def test_name=()
992
+ assert_nil @obj.name
993
+ assert_equal "cpd:C99990", (@obj.name = "cpd:C99990")
994
+ assert_equal "cpd:C99990", @obj.name
995
+ assert_equal "cpd:C99902", (@obj.name = "cpd:C99902")
996
+ assert_equal "cpd:C99902", @obj.name
997
+ end
998
+ end #module TestKGMLSubstrateProductSetterMethods
999
+
1000
+ class TestKGMLSubstrateProductSetter < Test::Unit::TestCase
1001
+ include TestKGMLSubstrateProductSetterMethods
1002
+ def setup
1003
+ @obj = Bio::KEGG::KGML::SubstrateProduct.new
1004
+ end
1005
+ end # class TestKGMLSubstrateProductSetter
1006
+
1007
+ class TestKGMLSubstrateSetter < Test::Unit::TestCase
1008
+ include TestKGMLSubstrateProductSetterMethods
1009
+ def setup
1010
+ @obj = Bio::KEGG::KGML::Substrate.new
1011
+ end
1012
+ end # class TestKGMLSubstrateSetter
1013
+
1014
+ class TestKGMLProductSetter < Test::Unit::TestCase
1015
+ include TestKGMLSubstrateProductSetterMethods
1016
+ def setup
1017
+ @obj = Bio::KEGG::KGML::Product.new
1018
+ end
1019
+ end # class TestKGMLProductSetter
1020
+
1021
+ end; end #module TestKeggKGML; #module Bio
1022
+