reve 0.0.99 → 0.0.109

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.
data/test/test_reve.rb CHANGED
@@ -216,7 +216,7 @@ class TestReve < Test::Unit::TestCase
216
216
  names = [ 'CCP Garthagk', 'Raquel Smith' ] # 797400947,892008733
217
217
  ids = []
218
218
  assert_nothing_raised do
219
- ids = @api.character_id :url => XML_BASE + 'characterid.xml', :names => names
219
+ ids = @api.names_to_ids :url => XML_BASE + 'characterid.xml', :names => names
220
220
  end
221
221
  assert_equal 2, ids.size
222
222
  ids.each do |id|
@@ -851,16 +851,18 @@ class TestReve < Test::Unit::TestCase
851
851
  assert_equal false, skill.skill_in_training
852
852
  end
853
853
 
854
- # Tests Reve::API#get_xml's segment that fetches from http
855
- def test_no_skill_in_training_clean_from_svn
856
- skill = nil
857
- assert_nothing_raised do
858
- skill = @api.skill_in_training(:characterid => 123, :url => URI.parse('http://svn.crudvision.com/reve/trunk/test/xml/skill_in_training-none.xml'))
854
+ =begin
855
+ # Tests Reve::API#get_xml's segment that fetches from http
856
+ def test_no_skill_in_training_clean_from_svn
857
+ skill = nil
858
+ assert_nothing_raised do
859
+ skill = @api.skill_in_training(:characterid => 123, :url => URI.parse('http://svn.crudvision.com/reve/trunk/test/xml/skill_in_training-none.xml'))
860
+ end
861
+ assert_not_nil @api.last_hash
862
+ assert_kind_of Time, @api.cached_until
863
+ assert_equal false, skill.skill_in_training
859
864
  end
860
- assert_not_nil @api.last_hash
861
- assert_kind_of Time, @api.cached_until
862
- assert_equal false, skill.skill_in_training
863
- end
865
+ =end
864
866
 
865
867
  def test_amarr_titan_skill_in_training_clean
866
868
  Reve::API.training_skill_url = XML_BASE + 'skill_in_training-amarr-titan.xml'
@@ -879,6 +881,88 @@ class TestReve < Test::Unit::TestCase
879
881
  assert_not_nil skill.end_sp
880
882
  end
881
883
 
884
+ def test_corporate_medals
885
+ Reve::API.corporate_medals_url = XML_BASE + 'corp_medals.xml'
886
+ medals = nil
887
+ assert_nothing_raised do
888
+ medals = @api.corporate_medals
889
+ end
890
+ assert_equal(12, medals.size)
891
+ medals.each do |medal|
892
+ assert_kind_of(Reve::Classes::CorporateMedal, medal)
893
+ assert_kind_of(Numeric, medal.id)
894
+ assert_kind_of(NilClass, medal.issued_at) # Doesn't exist for this class, look at created_at
895
+ assert_kind_of(Time, medal.created_at)
896
+ assert_kind_of(String, medal.description)
897
+ assert_kind_of(Numeric, medal.creator_id)
898
+ assert_kind_of(String, medal.title)
899
+ end
900
+ end
901
+
902
+ def test_corporate_member_medals
903
+ Reve::API.corp_member_medals_url = XML_BASE + 'corp_member_medals.xml'
904
+ medals = nil
905
+ assert_nothing_raised do
906
+ medals = @api.corporate_member_medals
907
+ end
908
+ assert_equal(9, medals.size)
909
+ medals.each do |medal|
910
+ assert_kind_of(Reve::Classes::CorporateMemberMedal, medal)
911
+ assert_kind_of(Numeric, medal.id)
912
+ assert_kind_of(Time, medal.issued_at)
913
+ assert_kind_of(Numeric, medal.character_id)
914
+ assert_kind_of(String, medal.reason)
915
+ assert_kind_of(Numeric, medal.issuer_id)
916
+ assert_kind_of(String, medal.status)
917
+ assert medal.is_public?
918
+ assert ! medal.is_private?
919
+ end
920
+ end
921
+
922
+ def test_character_medals
923
+ Reve::API.character_medals_url = XML_BASE + 'char_medals.xml'
924
+ obj = nil
925
+ assert_nothing_raised do
926
+ obj = @api.character_medals
927
+ end
928
+ assert_kind_of(Reve::Classes::CharacterMedals, obj)
929
+ assert_equal(1, obj.current_corporation.size)
930
+ assert obj.other_corporation.empty?
931
+ obj.current_corporation.each do |medal|
932
+ assert_kind_of(Reve::Classes::CharacterMedal, medal)
933
+ assert_kind_of(Numeric, medal.id)
934
+ assert_kind_of(Time, medal.issued_at)
935
+ assert_kind_of(String, medal.reason)
936
+ assert_kind_of(Numeric, medal.issuer_id)
937
+ assert_kind_of(String, medal.status)
938
+ assert medal.is_public?
939
+ assert ! medal.is_private?
940
+ end
941
+
942
+ end
943
+
944
+ def test_certificate_sheet
945
+ Reve::API.certificate_tree_url = XML_BASE + 'certificate_tree.xml'
946
+ tree = nil
947
+ assert_nothing_raised do
948
+ tree = @api.certificate_tree
949
+ end
950
+ # going to hell
951
+ assert_kind_of(Reve::Classes::CertificateTree, tree)
952
+ assert_equal(1, tree.categories.size)
953
+ assert tree.categories.all? { |cat| cat.kind_of?(Reve::Classes::CertificateCategory) }
954
+ assert tree.categories.all? { |cat| cat.id.kind_of?(Numeric) && cat.name.kind_of?(String) }
955
+ assert_equal(6, tree.categories.first.classes.size) # just 1 category
956
+ assert tree.categories.first.classes.all? { |klass| klass.kind_of?(Reve::Classes::CertificateClass) }
957
+ assert tree.categories.first.classes.all? { |klass| klass.id.kind_of?(Numeric) && klass.name.kind_of?(String) }
958
+ assert tree.categories.first.classes.collect { |klass| klass.certificates }.flatten.all? { |cert| cert.id.kind_of?(Numeric) && cert.grade.kind_of?(Numeric) && cert.corporation_id.kind_of?(Numeric) && cert.description.kind_of?(String) }
959
+ assert_equal(20, tree.categories.first.classes.collect { |klass| klass.certificates }.flatten.size)
960
+ assert_equal(54, tree.categories.first.classes.collect { |klass| klass.certificates }.flatten.collect { |cert| cert.required_skills }.flatten.size)
961
+ assert tree.categories.first.classes.collect { |klass| klass.certificates }.flatten.collect { |cert| cert.required_skills }.flatten.all? { |req| req.id.kind_of?(Numeric) && req.level.kind_of?(Numeric) }
962
+ assert_equal(29, tree.categories.first.classes.collect { |klass| klass.certificates }.flatten.collect { |cert| cert.required_certificates }.flatten.size)
963
+ assert tree.categories.first.classes.collect { |klass| klass.certificates }.flatten.collect { |cert| cert.required_certificates }.flatten.all? { |req| req.id.kind_of?(Numeric) && req.grade.kind_of?(Numeric) }
964
+ end
965
+
882
966
  def test_character_sheet_clean
883
967
  Reve::API.character_sheet_url = XML_BASE + 'character_sheet.xml'
884
968
  sheet = nil
@@ -903,15 +987,43 @@ class TestReve < Test::Unit::TestCase
903
987
  assert_not_nil sheet.perception
904
988
  assert_not_nil sheet.willpower
905
989
 
906
- assert_equal 2, sheet.enhancers.size
990
+ assert_equal 5, sheet.enhancers.size, "Implant size mismatch"
907
991
  sheet.enhancers.each do |enhancer|
908
992
  assert_kind_of Reve::Classes::AttributeEnhancer, enhancer
909
993
  end
910
- assert_equal 24500, sheet.skills.inject(0) { |sum,s| sum += s.skillpoints }
994
+ assert_equal 44842126, sheet.skills.inject(0) { |sum,s| sum += s.skillpoints }, "Skillpoint total mismatch"
911
995
 
912
996
  sheet.skills.each do |skill|
913
997
  assert_kind_of Reve::Classes::Skill, skill
914
998
  end
999
+ assert_equal(57, sheet.certificate_ids.size,"Certificate ID size mismatch")
1000
+ assert sheet.certificate_ids.all? { |cid| cid.kind_of?(Fixnum) }
1001
+
1002
+ # role aliases
1003
+ assert ! sheet.corporate_roles_at_hq.empty?
1004
+ assert ! sheet.corporate_roles.empty?
1005
+ assert ! sheet.corporate_roles_at_base.empty?
1006
+ assert ! sheet.corporate_roles_at_other.empty?
1007
+ # role proper methods
1008
+ assert ! sheet.corporationRolesAtHQ.empty?
1009
+ assert ! sheet.corporationRoles.empty?
1010
+ assert ! sheet.corporationRolesAtBase.empty?
1011
+ assert ! sheet.corporationRolesAtOther.empty?
1012
+
1013
+ [ :corporate_roles_at_hq, :corporate_roles, :corporate_roles_at_base, :corporate_roles_at_other ].each do |role_kind|
1014
+ r_ary = sheet.send(role_kind)
1015
+ assert r_ary.all? { |r| r.kind_of?(Reve::Classes::CorporateRole) }
1016
+ assert r_ary.all? { |r| r.name.kind_of?(String) }
1017
+ assert r_ary.all? { |r| r.id.kind_of?(Numeric) }
1018
+ end
1019
+
1020
+ assert ! sheet.corporate_titles.empty?
1021
+ assert sheet.corporate_titles.all? { |t| t.kind_of?(Reve::Classes::CorporateTitle) }
1022
+ assert sheet.corporate_titles.all? { |t| t.name.kind_of?(String) }
1023
+ assert sheet.corporate_titles.all? { |t| t.id.kind_of?(Numeric) }
1024
+
1025
+
1026
+
915
1027
  end
916
1028
 
917
1029
  # Can we reassign a URL?
@@ -939,17 +1051,19 @@ class TestReve < Test::Unit::TestCase
939
1051
  assert_equal File.open(File.join(XML_BASE, 'skill_in_training-none.xml')).read, xmldoc
940
1052
  end
941
1053
 
942
- def test_get_xml_from_web
943
- xmldoc = @api.send(:get_xml, 'http://svn.crudvision.com/reve/trunk/test/xml/skill_in_training-none.xml', {} )
944
- assert_equal File.open(File.join(XML_BASE, 'skill_in_training-none.xml')).read, xmldoc
945
- end
1054
+ =begin
1055
+ def test_get_xml_from_web
1056
+ xmldoc = @api.send(:get_xml, 'http://svn.crudvision.com/reve/trunk/test/xml/skill_in_training-none.xml', {} )
1057
+ assert_equal File.open(File.join(XML_BASE, 'skill_in_training-none.xml')).read, xmldoc
1058
+ end
1059
+ =end
946
1060
 
947
1061
  def test_get_xml_from_filesystem_missing_file
948
1062
  assert_raise Errno::ENOENT do
949
1063
  xmldoc = @api.send(:get_xml, File.join(XML_BASE,rand.to_s), {} )
950
1064
  end
951
1065
  end
952
-
1066
+ =begin
953
1067
  # if this starts to fail make sure the 404 ErrorDocument includes '404 Not Found'
954
1068
  def test_get_xml_from_web_missing_file
955
1069
  begin
@@ -959,6 +1073,7 @@ class TestReve < Test::Unit::TestCase
959
1073
  assert e.message.include?('404 Not Found')
960
1074
  end
961
1075
  end
1076
+ =end
962
1077
 
963
1078
  def test_format_url_request_one_arg
964
1079
  req = @api.send(:format_url_request, { :a => "Hello" })
@@ -0,0 +1,231 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <eveapi version="2">
3
+ <currentTime>2008-12-07 17:24:08</currentTime>
4
+ <result>
5
+ <rowset name="categories" key="categoryID" columns="categoryID,categoryName">
6
+ <row categoryID="3" categoryName="Core">
7
+ <rowset name="classes" key="classID" columns="classID,className">
8
+ <row classID="2" className="Core Fitting">
9
+ <rowset name="certificates" key="certificateID" columns="certificateID,grade,corporationID,description">
10
+ <row certificateID="5" grade="1" corporationID="1000125" description="This certificate represents a basic level of competence in fitting ships. It certifies that the holder is able to use baseline modules which improve power and CPU capabilities such as Co-Processors, Power Diagnostic Systems and Reactor Control Units. This is the first step towards broadening your fitting options.">
11
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel">
12
+ <row typeID="3413" level="3" />
13
+ <row typeID="3424" level="2" />
14
+ <row typeID="3426" level="3" />
15
+ <row typeID="3432" level="1" />
16
+ </rowset>
17
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade" />
18
+ </row>
19
+ <row certificateID="8" grade="5" corporationID="1000125" description="This certificate represents an elite level of competence in fitting ships. It certifies that the holder has maximized their fitting capabilities. You have now reached the point where you should be able to use any valid module configuration without fitting issues.">
20
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel">
21
+ <row typeID="11207" level="5" />
22
+ </rowset>
23
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade">
24
+ <row certificateID="7" grade="1" />
25
+ </rowset>
26
+ </row>
27
+ <row certificateID="7" grade="3" corporationID="1000125" description="This certificate represents an improved level of competence in fitting ships. It certifies that the holder is able to use all available fitting modules. At this stage you have an extremely wide range of fitting options available.">
28
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel">
29
+ <row typeID="3424" level="5" />
30
+ <row typeID="3432" level="5" />
31
+ <row typeID="11207" level="4" />
32
+ </rowset>
33
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade">
34
+ <row certificateID="6" grade="1" />
35
+ </rowset>
36
+ </row>
37
+ <row certificateID="6" grade="2" corporationID="1000125" description="This certificate represents a standard level of competence in fitting ships. It certifies that the holder is able to use Micro Auxiliary Power Cores and many Tech 2 fitting modules. The holder knows that MAPCs are the best way to increase power output on Frigate-class ships. This provides you with a broad range of fitting options">
38
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel">
39
+ <row typeID="3318" level="4" />
40
+ <row typeID="3413" level="5" />
41
+ <row typeID="3418" level="4" />
42
+ <row typeID="3426" level="5" />
43
+ <row typeID="3432" level="4" />
44
+ </rowset>
45
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade">
46
+ <row certificateID="5" grade="1" />
47
+ </rowset>
48
+ </row>
49
+ </rowset>
50
+ </row>
51
+ <row classID="3" className="Core Capacitor">
52
+ <rowset name="certificates" key="certificateID" columns="certificateID,grade,corporationID,description">
53
+ <row certificateID="1" grade="1" corporationID="1000125" description="This certificate represents a basic level of competence in capacitor functionality. It certifies that the holder can fit all Tech 1 capacitor-related modules and has baseline skills in capacitor recharge and base capacity. This enables you to somewhat optimize your capacitor and run a variety of modules without running out of capacitor power.">
54
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel">
55
+ <row typeID="3417" level="3" />
56
+ <row typeID="3418" level="3" />
57
+ <row typeID="3424" level="2" />
58
+ </rowset>
59
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade" />
60
+ </row>
61
+ <row certificateID="4" grade="5" corporationID="1000125" description="This certificate represents an elite level of competence in capacitor functionality. It certifies that the holder has maximized their capacitor-related skills. At this point you can run a huge range of configurations without worrying about capacitor usage.">
62
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel">
63
+ <row typeID="3418" level="5" />
64
+ </rowset>
65
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade">
66
+ <row certificateID="2" grade="1" />
67
+ </rowset>
68
+ </row>
69
+ <row certificateID="2" grade="2" corporationID="1000125" description="This certificate represents a standard level of competence in capacitor functionality. It certifies that the holder can fit all available capacitor-related modules and has good capacitor skills. The holder is aware that increasing base recharge and capacity both increase their capacitor's overall recharge rate. At this stage you can optimize capacitor flow and run a large number of modules without capacitor concerns.">
70
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel">
71
+ <row typeID="3417" level="5" />
72
+ <row typeID="3418" level="4" />
73
+ <row typeID="3424" level="4" />
74
+ </rowset>
75
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade">
76
+ <row certificateID="1" grade="1" />
77
+ </rowset>
78
+ </row>
79
+ </rowset>
80
+ </row>
81
+ <row classID="4" className="Core Targeting">
82
+ <rowset name="certificates" key="certificateID" columns="certificateID,grade,corporationID,description">
83
+ <row certificateID="10" grade="2" corporationID="1000125" description="This certificate represents a standard level of competence with targeting systems. It certifies that the holder has considerable skill in target acquisition and management and is able to use all targeting-related modules. This allows you to lock a large number of targets very quickly and at long range.">
84
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel">
85
+ <row typeID="3428" level="4" />
86
+ <row typeID="3431" level="4" />
87
+ <row typeID="3432" level="5" />
88
+ <row typeID="3430" level="1" />
89
+ </rowset>
90
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade">
91
+ <row certificateID="9" grade="1" />
92
+ </rowset>
93
+ </row>
94
+ <row certificateID="11" grade="5" corporationID="1000125" description="This certificate represents an elite level of competence with targeting systems. It certifies that the holder has unsurpassed skill in target acquisition and management. This allows you to lock a huge number of targets almost instantaneously and at extreme range.">
95
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel">
96
+ <row typeID="3428" level="5" />
97
+ <row typeID="3431" level="5" />
98
+ <row typeID="3430" level="3" />
99
+ </rowset>
100
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade">
101
+ <row certificateID="10" grade="1" />
102
+ </rowset>
103
+ </row>
104
+ <row certificateID="9" grade="1" corporationID="1000125" description="This certificate represents a basic level of competence with targeting systems. It certifies that the holder has some skill in target acquisition and management and can make use of a range of targeting-related modules. This allows you to lock a number of targets quickly and at medium range.">
105
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel">
106
+ <row typeID="3428" level="2" />
107
+ <row typeID="3429" level="4" />
108
+ <row typeID="3431" level="3" />
109
+ <row typeID="3432" level="1" />
110
+ </rowset>
111
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade" />
112
+ </row>
113
+ </rowset>
114
+ </row>
115
+ <row classID="5" className="Core Navigation">
116
+ <rowset name="certificates" key="certificateID" columns="certificateID,grade,corporationID,description">
117
+ <row certificateID="12" grade="1" corporationID="1000125" description="This certificate represents a basic level of competence in ship handling. It certifies that the holder has a solid base of skills relating to speed and agility. Once you qualify for this certificate your ships will move and turn that little bit faster.">
118
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel">
119
+ <row typeID="3327" level="3" />
120
+ <row typeID="3449" level="3" />
121
+ <row typeID="3453" level="2" />
122
+ <row typeID="3455" level="2" />
123
+ </rowset>
124
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade" />
125
+ </row>
126
+ <row certificateID="3" grade="3" corporationID="1000125" description="This certificate represents an improved level of competence in ship handling. It certifies that the holder can push their ship's speed to its design maximums, as well as turning rapidly and warping efficiently. The holder is aware that the amount of capacitor used when warping depends on skill, distance and shiptype. Once you qualify for this certificate your ships will easily outrun lesser pilots.">
127
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel">
128
+ <row typeID="3327" level="5" />
129
+ <row typeID="3449" level="5" />
130
+ <row typeID="3453" level="4" />
131
+ <row typeID="3455" level="4" />
132
+ </rowset>
133
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade">
134
+ <row certificateID="13" grade="1" />
135
+ </rowset>
136
+ </row>
137
+ <row certificateID="13" grade="2" corporationID="1000125" description="This certificate represents a standard level of competence in ship handling. It certifies that the holder has a good spread of skills relating to speed and agility. Once you qualify for this certificate your ships will &quot;turn and burn&quot; in a much more responsive manner.">
138
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel">
139
+ <row typeID="3449" level="4" />
140
+ <row typeID="3455" level="3" />
141
+ <row typeID="3453" level="3" />
142
+ <row typeID="3327" level="4" />
143
+ </rowset>
144
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade">
145
+ <row certificateID="12" grade="1" />
146
+ </rowset>
147
+ </row>
148
+ <row certificateID="14" grade="5" corporationID="1000125" description="This certificate represents an elite level of competence in ship handling. It certifies that the holder has unsurpassed skills in ship speed, agility and warp efficiency. Once you qualify for this certificate you'll find that your ship responds almost before you've issued the order, and you'll cross vast distances in warp with minimal capacitor use.">
149
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel">
150
+ <row typeID="3453" level="5" />
151
+ <row typeID="3455" level="5" />
152
+ </rowset>
153
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade">
154
+ <row certificateID="3" grade="1" />
155
+ </rowset>
156
+ </row>
157
+ </rowset>
158
+ </row>
159
+ <row classID="6" className="Core Competency">
160
+ <rowset name="certificates" key="certificateID" columns="certificateID,grade,corporationID,description">
161
+ <row certificateID="16" grade="2" corporationID="1000125" description="This certificate represents a standard skillset in core skills. It certifies that the holder has a standard level of competence in core areas of fitting, capacitor, targeting, integrity and navigation. This gives you a well-rounded core of skills to build a profession on.">
162
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel" />
163
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade">
164
+ <row certificateID="2" grade="1" />
165
+ <row certificateID="6" grade="1" />
166
+ <row certificateID="10" grade="1" />
167
+ <row certificateID="13" grade="1" />
168
+ <row certificateID="15" grade="1" />
169
+ <row certificateID="20" grade="1" />
170
+ </rowset>
171
+ </row>
172
+ <row certificateID="18" grade="5" corporationID="1000125" description="This certificate represents an elite skillset in core skills. It certifies that the holder has an elite level of competence in core areas of fitting, capacitor, targeting, integrity and navigation. This forms an exceptionally strong core skillset which will benefit you in any profession you choose to pursue.">
173
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel" />
174
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade">
175
+ <row certificateID="4" grade="1" />
176
+ <row certificateID="8" grade="1" />
177
+ <row certificateID="11" grade="1" />
178
+ <row certificateID="14" grade="1" />
179
+ <row certificateID="16" grade="1" />
180
+ <row certificateID="21" grade="1" />
181
+ </rowset>
182
+ </row>
183
+ <row certificateID="15" grade="1" corporationID="1000125" description="This certificate represents a basic skillset in core skills. It certifies that the holder has a basic level of competence in core areas of fitting, capacitor, targeting, integrity and navigation. This gives you a solid foundation to build from.">
184
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel" />
185
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade">
186
+ <row certificateID="1" grade="1" />
187
+ <row certificateID="5" grade="1" />
188
+ <row certificateID="9" grade="1" />
189
+ <row certificateID="12" grade="1" />
190
+ <row certificateID="19" grade="1" />
191
+ </rowset>
192
+ </row>
193
+ </rowset>
194
+ </row>
195
+ <row classID="7" className="Core Integrity">
196
+ <rowset name="certificates" key="certificateID" columns="certificateID,grade,corporationID,description">
197
+ <row certificateID="19" grade="1" corporationID="1000125" description="This certificate represents a basic level of competence in structural integrity management. It certifies that the holder has solid damage-absorbtion skills. This will allow you to hold together for longer in combat before exploding.">
198
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel">
199
+ <row typeID="3392" level="3" />
200
+ <row typeID="3394" level="3" />
201
+ <row typeID="3419" level="3" />
202
+ </rowset>
203
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade" />
204
+ </row>
205
+ <row certificateID="20" grade="2" corporationID="1000125" description="This certificate represents a standard level of competence in structural integrity management. It certifies that the holder has Good damage-absorbtion skills. This will allow you to last considerably longer in combat, perhaps giving you the edge you need to secure victory.">
206
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel">
207
+ <row typeID="3392" level="4" />
208
+ <row typeID="3394" level="4" />
209
+ <row typeID="3419" level="4" />
210
+ </rowset>
211
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade">
212
+ <row certificateID="19" grade="1" />
213
+ </rowset>
214
+ </row>
215
+ <row certificateID="21" grade="5" corporationID="1000125" description="This certificate represents an elite level of competence in structural integrity management. It certifies that the holder has outstanding damage-absorbtion skills. This will allow you to last for long periods in combat, giving you plenty of time to defeat lesser opponents.">
216
+ <rowset name="requiredSkills" key="typeID" columns="typeID,skillLevel">
217
+ <row typeID="3392" level="5" />
218
+ <row typeID="3394" level="5" />
219
+ <row typeID="3419" level="5" />
220
+ </rowset>
221
+ <rowset name="requiredCertificates" key="certificateID" columns="certificateID,grade">
222
+ <row certificateID="20" grade="1" />
223
+ </rowset>
224
+ </row>
225
+ </rowset>
226
+ </row>
227
+ </rowset>
228
+ </row>
229
+ </rowset>
230
+ </result>
231
+ </eveapi>
@@ -0,0 +1,12 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <eveapi version="2">
3
+ <currentTime>2008-12-09 16:07:35</currentTime>
4
+ <result>
5
+ <rowset name="currentCorporation" key="medalID" columns="medalID,reason,status,issuerID,issued">
6
+ <row medalID="5990" reason="Making VAF Mart which defined VAF as a corp and made us known to Eve Universe" status="public" issuerID="1570039227" issued="2008-11-30 21:17:08" />
7
+ </rowset>
8
+ <rowset name="otherCorporations" key="medalID" columns="medalID,reason,status,issuerID,issued,corporationID,title,description" />
9
+ </result>
10
+
11
+ <cachedUntil>2008-12-10 15:07:35</cachedUntil>
12
+ </eveapi>