antw-dyno 0.1.2
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/LICENSE +19 -0
- data/README.markdown +68 -0
- data/Rakefile +45 -0
- data/VERSION.yml +4 -0
- data/lib/dyno.rb +22 -0
- data/lib/dyno/competitor.rb +55 -0
- data/lib/dyno/event.rb +16 -0
- data/lib/dyno/parsers/gtr2_parser.rb +13 -0
- data/lib/dyno/parsers/race07_parser.rb +130 -0
- data/lib/dyno/parsers/rfactor_parser.rb +138 -0
- data/spec/competitor_spec.rb +129 -0
- data/spec/event_spec.rb +59 -0
- data/spec/fixtures/gtr2/full.ini +0 -0
- data/spec/fixtures/gtr2/header_no_track.ini +0 -0
- data/spec/fixtures/gtr2/header_only.ini +0 -0
- data/spec/fixtures/gtr2/no_header_section.ini +0 -0
- data/spec/fixtures/gtr2/single_driver.ini +0 -0
- data/spec/fixtures/race07/full.ini +131 -0
- data/spec/fixtures/race07/header_no_track.ini +11 -0
- data/spec/fixtures/race07/header_only.ini +12 -0
- data/spec/fixtures/race07/no_header_section.ini +6 -0
- data/spec/fixtures/race07/no_steam_id.ini +37 -0
- data/spec/fixtures/race07/single_driver.ini +37 -0
- data/spec/fixtures/race07/single_driver_dnf.ini +34 -0
- data/spec/fixtures/race07/single_driver_dsq.ini +34 -0
- data/spec/fixtures/readme.markdown +5 -0
- data/spec/fixtures/rfactor/arca.xml +187 -0
- data/spec/fixtures/rfactor/event_only.xml +43 -0
- data/spec/fixtures/rfactor/full.xml +1023 -0
- data/spec/fixtures/rfactor/missing_root.xml +6 -0
- data/spec/fixtures/rfactor/single_driver.xml +85 -0
- data/spec/fixtures/rfactor/single_driver_dnf.xml +80 -0
- data/spec/fixtures/rfactor/single_driver_dsq.xml +79 -0
- data/spec/parsers/gtr2_parser_spec.rb +199 -0
- data/spec/parsers/race07_parser_spec.rb +155 -0
- data/spec/parsers/rfactor_parser_spec.rb +158 -0
- data/spec/spec_helper.rb +3 -0
- metadata +107 -0
@@ -0,0 +1,85 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!DOCTYPE rF [
|
3
|
+
<!ENTITY rFEnt "rFactor Entity">
|
4
|
+
]>
|
5
|
+
<rFactorXML version="1.0">
|
6
|
+
<RaceResults>
|
7
|
+
<Setting>Multiplayer</Setting>
|
8
|
+
<ServerName>RACEDEPARTMENT.COM EU 2</ServerName>
|
9
|
+
<PlayerFile>DedicatedServer</PlayerFile>
|
10
|
+
<DateTime>1229826153</DateTime>
|
11
|
+
<TimeString>2008/12/21 03:22:33</TimeString>
|
12
|
+
<Mod>JF3_2007.rfm</Mod>
|
13
|
+
<Season></Season>
|
14
|
+
<TrackVenue>Suzuka Circuit</TrackVenue>
|
15
|
+
<TrackCourse>Suzuka-2005</TrackCourse>
|
16
|
+
<TrackEvent>Japanese Grand Prix - 2005</TrackEvent>
|
17
|
+
<TrackLength>5834.1</TrackLength>
|
18
|
+
<GameVersion>1.255</GameVersion>
|
19
|
+
<Dedicated>1</Dedicated>
|
20
|
+
<ConnectionType upload="8042" download="8042">Custom</ConnectionType>
|
21
|
+
<MOTD>RACEDEPARTMENT.COM - blurring the line between real and virtual motorsports</MOTD>
|
22
|
+
<RaceLaps>17</RaceLaps>
|
23
|
+
<RaceTime>0</RaceTime>
|
24
|
+
<MechFailRate>1</MechFailRate>
|
25
|
+
<DamageMult>100</DamageMult>
|
26
|
+
<FuelMult>1</FuelMult>
|
27
|
+
<TireMult>1</TireMult>
|
28
|
+
<VehiclesAllowed>|JF3_2007</VehiclesAllowed>
|
29
|
+
<ParcFerme>3</ParcFerme>
|
30
|
+
<FixedSetups>0</FixedSetups>
|
31
|
+
<FreeSettings>11</FreeSettings>
|
32
|
+
<FixedUpgrades>1</FixedUpgrades>
|
33
|
+
<Race>
|
34
|
+
<DateTime>1229892973</DateTime>
|
35
|
+
<TimeString>2008/12/21 21:56:13</TimeString>
|
36
|
+
<Laps>17</Laps>
|
37
|
+
<Minutes>0</Minutes>
|
38
|
+
<Stream>
|
39
|
+
</Stream>
|
40
|
+
<MostLapsCompleted>17</MostLapsCompleted>
|
41
|
+
<Driver>
|
42
|
+
<Name>Zach Evans</Name>
|
43
|
+
<Connected>1</Connected>
|
44
|
+
<VehFile>3F306_2007.VEH</VehFile>
|
45
|
+
<UpgradeCode>15000000 00000000</UpgradeCode>
|
46
|
+
<VehName>Roberto Streit</VehName>
|
47
|
+
<CarType>JF3_2007</CarType>
|
48
|
+
<CarClass>JF3_2007</CarClass>
|
49
|
+
<CarNumber>3</CarNumber>
|
50
|
+
<TeamName>07-03 INGING MOTORSPORT</TeamName>
|
51
|
+
<isPlayer>1</isPlayer>
|
52
|
+
<GridPos>11</GridPos>
|
53
|
+
<Position>1</Position>
|
54
|
+
<ClassGridPos>11</ClassGridPos>
|
55
|
+
<ClassPosition>1</ClassPosition>
|
56
|
+
<Points>20</Points>
|
57
|
+
<ClassPoints>20</ClassPoints>
|
58
|
+
<LapRankIncludingDiscos>3</LapRankIncludingDiscos>
|
59
|
+
<Lap num="1" p="3" et="40.0211" s1="52.3539" s2="55.6448" s3="22.5232" fuel="0.843">130.5218</Lap>
|
60
|
+
<Lap num="2" p="3" et="170.5430" s1="41.8527" s2="55.3994" s3="22.4502" fuel="0.800">119.7023</Lap>
|
61
|
+
<Lap num="3" p="2" et="290.2452" s1="42.3889" s2="55.5416" s3="22.2890" fuel="0.761">120.2195</Lap>
|
62
|
+
<Lap num="4" p="2" et="410.4647" s1="41.9483" s2="55.3238" s3="22.3402" fuel="0.718">119.6123</Lap>
|
63
|
+
<Lap num="5" p="2" et="530.0770" s1="41.8170" s2="56.1017" s3="22.3548" fuel="0.675">120.2735</Lap>
|
64
|
+
<Lap num="6" p="2" et="650.3504" s1="41.8205" s2="55.4031" s3="22.4181" fuel="0.631">119.6417</Lap>
|
65
|
+
<Lap num="7" p="2" et="769.9921" s1="41.9503" s2="55.1721" s3="22.5586" fuel="0.588">119.6810</Lap>
|
66
|
+
<Lap num="8" p="1" et="889.6732" s1="41.8701" s2="55.3826" s3="22.7209" fuel="0.545">119.9735</Lap>
|
67
|
+
<Lap num="9" p="1" et="1009.6467" s1="42.2173" s2="55.1745" s3="22.6508" fuel="0.502">120.0426</Lap>
|
68
|
+
<Lap num="10" p="1" et="1129.6892" s1="41.8203" s2="55.3497" s3="22.8513" fuel="0.459">120.0213</Lap>
|
69
|
+
<Lap num="11" p="1" et="1249.7104" s1="42.6233" s2="55.4770" s3="22.4602" fuel="0.416">120.5605</Lap>
|
70
|
+
<Lap num="12" p="1" et="1370.2710" s1="41.9227" s2="55.1716" s3="22.2617" fuel="0.373">119.3561</Lap>
|
71
|
+
<Lap num="13" p="1" et="1489.6271" s1="41.7863" s2="55.9762" s3="22.5324" fuel="0.329">120.2949</Lap>
|
72
|
+
<Lap num="14" p="1" et="1609.9219" s1="42.1470" s2="55.9459" s3="22.4242" fuel="0.286">120.5171</Lap>
|
73
|
+
<Lap num="15" p="1" et="1730.4390" s1="42.1881" s2="55.5917" s3="22.3778" fuel="0.243">120.1576</Lap>
|
74
|
+
<Lap num="16" p="1" et="1850.5966" s1="42.1523" s2="54.9114" s3="22.2956" fuel="0.200">119.3593</Lap>
|
75
|
+
<Lap num="17" p="1" et="1969.9559" s1="42.1447" s2="55.2251" s3="22.3365" fuel="0.157">119.7063</Lap>
|
76
|
+
<BestLapTime>119.3561</BestLapTime>
|
77
|
+
<FinishTime>2049.6411</FinishTime>
|
78
|
+
<Laps>17</Laps>
|
79
|
+
<Pitstops>0</Pitstops>
|
80
|
+
<FinishStatus>Finished Normally</FinishStatus>
|
81
|
+
<ControlAndAids startLap="1" endLap="17">PlayerControl,Clutch,AutoBlip</ControlAndAids>
|
82
|
+
</Driver>
|
83
|
+
</Race>
|
84
|
+
</RaceResults>
|
85
|
+
</rFactorXML>
|
@@ -0,0 +1,80 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!DOCTYPE rF [
|
3
|
+
<!ENTITY rFEnt "rFactor Entity">
|
4
|
+
]>
|
5
|
+
<rFactorXML version="1.0">
|
6
|
+
<RaceResults>
|
7
|
+
<Setting>Multiplayer</Setting>
|
8
|
+
<ServerName>RACEDEPARTMENT.COM EU 2</ServerName>
|
9
|
+
<PlayerFile>DedicatedServer</PlayerFile>
|
10
|
+
<DateTime>1229826153</DateTime>
|
11
|
+
<TimeString>2008/12/21 03:22:33</TimeString>
|
12
|
+
<Mod>JF3_2007.rfm</Mod>
|
13
|
+
<Season></Season>
|
14
|
+
<TrackVenue>Suzuka Circuit</TrackVenue>
|
15
|
+
<TrackCourse>Suzuka-2005</TrackCourse>
|
16
|
+
<TrackEvent>Japanese Grand Prix - 2005</TrackEvent>
|
17
|
+
<TrackLength>5834.1</TrackLength>
|
18
|
+
<GameVersion>1.255</GameVersion>
|
19
|
+
<Dedicated>1</Dedicated>
|
20
|
+
<ConnectionType upload="8042" download="8042">Custom</ConnectionType>
|
21
|
+
<MOTD>RACEDEPARTMENT.COM - blurring the line between real and virtual motorsports</MOTD>
|
22
|
+
<RaceLaps>17</RaceLaps>
|
23
|
+
<RaceTime>0</RaceTime>
|
24
|
+
<MechFailRate>1</MechFailRate>
|
25
|
+
<DamageMult>100</DamageMult>
|
26
|
+
<FuelMult>1</FuelMult>
|
27
|
+
<TireMult>1</TireMult>
|
28
|
+
<VehiclesAllowed>|JF3_2007</VehiclesAllowed>
|
29
|
+
<ParcFerme>3</ParcFerme>
|
30
|
+
<FixedSetups>0</FixedSetups>
|
31
|
+
<FreeSettings>11</FreeSettings>
|
32
|
+
<FixedUpgrades>1</FixedUpgrades>
|
33
|
+
<Race>
|
34
|
+
<DateTime>1229892973</DateTime>
|
35
|
+
<TimeString>2008/12/21 21:56:13</TimeString>
|
36
|
+
<Laps>17</Laps>
|
37
|
+
<Minutes>0</Minutes>
|
38
|
+
<Stream>
|
39
|
+
</Stream>
|
40
|
+
<MostLapsCompleted>17</MostLapsCompleted>
|
41
|
+
<Driver>
|
42
|
+
<Name>Tom M. Hall</Name>
|
43
|
+
<Connected>1</Connected>
|
44
|
+
<VehFile>01F307.VEH</VehFile>
|
45
|
+
<UpgradeCode>00000000 00000000</UpgradeCode>
|
46
|
+
<VehName>Oliver Jarvis</VehName>
|
47
|
+
<CarType>JF3_2007</CarType>
|
48
|
+
<CarClass>JF3_2007</CarClass>
|
49
|
+
<CarNumber>1L</CarNumber>
|
50
|
+
<TeamName>07-01 DHG TOM'S</TeamName>
|
51
|
+
<isPlayer>0</isPlayer>
|
52
|
+
<GridPos>1</GridPos>
|
53
|
+
<Position>7</Position>
|
54
|
+
<ClassGridPos>1</ClassGridPos>
|
55
|
+
<ClassPosition>7</ClassPosition>
|
56
|
+
<Points>4</Points>
|
57
|
+
<ClassPoints>4</ClassPoints>
|
58
|
+
<LapRankIncludingDiscos>2</LapRankIncludingDiscos>
|
59
|
+
<Lap num="1" p="1" et="40.0211" s1="46.6755" s2="56.8494" s3="22.6522" fuel="0.957">126.1771</Lap>
|
60
|
+
<Lap num="2" p="1" et="166.1982" s1="42.3175" s2="55.4714" s3="22.5711" fuel="0.910">120.3600</Lap>
|
61
|
+
<Lap num="3" p="1" et="286.5582" s1="41.4937" s2="55.3808" s3="22.3169" fuel="0.867">119.1914</Lap>
|
62
|
+
<Lap num="4" p="1" et="405.7496" s1="42.2348" s2="55.2814" s3="22.5264" fuel="0.827">120.0426</Lap>
|
63
|
+
<Lap num="5" p="1" et="525.7922" s1="41.7521" s2="55.2192" s3="22.8702" fuel="0.784">119.8415</Lap>
|
64
|
+
<Lap num="6" p="1" et="645.6337" s1="42.1599" s2="55.3416" s3="22.6780" fuel="0.741">120.1795</Lap>
|
65
|
+
<Lap num="7" p="1" et="765.8132" s1="42.0617" s2="54.9901" s3="22.6024" fuel="0.698">119.6542</Lap>
|
66
|
+
<Lap num="8" p="2" et="885.4674" s1="41.6767" s2="59.4520" s3="23.4462" fuel="0.651">124.5749</Lap>
|
67
|
+
<Lap num="9" p="2" et="1010.0424" s1="41.9974" s2="55.6552" s3="22.4668" fuel="0.612">120.1193</Lap>
|
68
|
+
<Lap num="10" p="2" et="1130.1616" s1="41.6227" s2="55.1515" s3="23.0518" fuel="0.569">119.8260</Lap>
|
69
|
+
<Lap num="11" p="2" et="1249.9877" s1="42.8742" s2="55.1942" s3="22.8089" fuel="0.529">120.8774</Lap>
|
70
|
+
<Lap num="12" p="2" et="1370.8651" s1="42.0483" s2="54.9263" s3="22.2972" fuel="0.486">119.2719</Lap>
|
71
|
+
<BestLapTime>119.1914</BestLapTime>
|
72
|
+
<Laps>12</Laps>
|
73
|
+
<Pitstops>0</Pitstops>
|
74
|
+
<FinishStatus>DNF</FinishStatus>
|
75
|
+
<DNFReason>Suspension</DNFReason>
|
76
|
+
<ControlAndAids startLap="1" endLap="12">PlayerControl,Clutch,AutoBlip</ControlAndAids>
|
77
|
+
</Driver>
|
78
|
+
</Race>
|
79
|
+
</RaceResults>
|
80
|
+
</rFactorXML>
|
@@ -0,0 +1,79 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!DOCTYPE rF [
|
3
|
+
<!ENTITY rFEnt "rFactor Entity">
|
4
|
+
]>
|
5
|
+
<rFactorXML version="1.0">
|
6
|
+
<RaceResults>
|
7
|
+
<Setting>Multiplayer</Setting>
|
8
|
+
<ServerName>RACEDEPARTMENT.COM EU 2</ServerName>
|
9
|
+
<PlayerFile>DedicatedServer</PlayerFile>
|
10
|
+
<DateTime>1229826153</DateTime>
|
11
|
+
<TimeString>2008/12/21 03:22:33</TimeString>
|
12
|
+
<Mod>JF3_2007.rfm</Mod>
|
13
|
+
<Season></Season>
|
14
|
+
<TrackVenue>Suzuka Circuit</TrackVenue>
|
15
|
+
<TrackCourse>Suzuka-2005</TrackCourse>
|
16
|
+
<TrackEvent>Japanese Grand Prix - 2005</TrackEvent>
|
17
|
+
<TrackLength>5834.1</TrackLength>
|
18
|
+
<GameVersion>1.255</GameVersion>
|
19
|
+
<Dedicated>1</Dedicated>
|
20
|
+
<ConnectionType upload="8042" download="8042">Custom</ConnectionType>
|
21
|
+
<MOTD>RACEDEPARTMENT.COM - blurring the line between real and virtual motorsports</MOTD>
|
22
|
+
<RaceLaps>17</RaceLaps>
|
23
|
+
<RaceTime>0</RaceTime>
|
24
|
+
<MechFailRate>1</MechFailRate>
|
25
|
+
<DamageMult>100</DamageMult>
|
26
|
+
<FuelMult>1</FuelMult>
|
27
|
+
<TireMult>1</TireMult>
|
28
|
+
<VehiclesAllowed>|JF3_2007</VehiclesAllowed>
|
29
|
+
<ParcFerme>3</ParcFerme>
|
30
|
+
<FixedSetups>0</FixedSetups>
|
31
|
+
<FreeSettings>11</FreeSettings>
|
32
|
+
<FixedUpgrades>1</FixedUpgrades>
|
33
|
+
<Race>
|
34
|
+
<DateTime>1229892973</DateTime>
|
35
|
+
<TimeString>2008/12/21 21:56:13</TimeString>
|
36
|
+
<Laps>17</Laps>
|
37
|
+
<Minutes>0</Minutes>
|
38
|
+
<Stream>
|
39
|
+
</Stream>
|
40
|
+
<MostLapsCompleted>17</MostLapsCompleted>
|
41
|
+
<Driver>
|
42
|
+
<Name>Tom M. Hall</Name>
|
43
|
+
<Connected>1</Connected>
|
44
|
+
<VehFile>01F307.VEH</VehFile>
|
45
|
+
<UpgradeCode>00000000 00000000</UpgradeCode>
|
46
|
+
<VehName>Oliver Jarvis</VehName>
|
47
|
+
<CarType>JF3_2007</CarType>
|
48
|
+
<CarClass>JF3_2007</CarClass>
|
49
|
+
<CarNumber>1L</CarNumber>
|
50
|
+
<TeamName>07-01 DHG TOM'S</TeamName>
|
51
|
+
<isPlayer>0</isPlayer>
|
52
|
+
<GridPos>1</GridPos>
|
53
|
+
<Position>7</Position>
|
54
|
+
<ClassGridPos>1</ClassGridPos>
|
55
|
+
<ClassPosition>7</ClassPosition>
|
56
|
+
<Points>4</Points>
|
57
|
+
<ClassPoints>4</ClassPoints>
|
58
|
+
<LapRankIncludingDiscos>2</LapRankIncludingDiscos>
|
59
|
+
<Lap num="1" p="1" et="40.0211" s1="46.6755" s2="56.8494" s3="22.6522" fuel="0.957">126.1771</Lap>
|
60
|
+
<Lap num="2" p="1" et="166.1982" s1="42.3175" s2="55.4714" s3="22.5711" fuel="0.910">120.3600</Lap>
|
61
|
+
<Lap num="3" p="1" et="286.5582" s1="41.4937" s2="55.3808" s3="22.3169" fuel="0.867">119.1914</Lap>
|
62
|
+
<Lap num="4" p="1" et="405.7496" s1="42.2348" s2="55.2814" s3="22.5264" fuel="0.827">120.0426</Lap>
|
63
|
+
<Lap num="5" p="1" et="525.7922" s1="41.7521" s2="55.2192" s3="22.8702" fuel="0.784">119.8415</Lap>
|
64
|
+
<Lap num="6" p="1" et="645.6337" s1="42.1599" s2="55.3416" s3="22.6780" fuel="0.741">120.1795</Lap>
|
65
|
+
<Lap num="7" p="1" et="765.8132" s1="42.0617" s2="54.9901" s3="22.6024" fuel="0.698">119.6542</Lap>
|
66
|
+
<Lap num="8" p="2" et="885.4674" s1="41.6767" s2="59.4520" s3="23.4462" fuel="0.651">124.5749</Lap>
|
67
|
+
<Lap num="9" p="2" et="1010.0424" s1="41.9974" s2="55.6552" s3="22.4668" fuel="0.612">120.1193</Lap>
|
68
|
+
<Lap num="10" p="2" et="1130.1616" s1="41.6227" s2="55.1515" s3="23.0518" fuel="0.569">119.8260</Lap>
|
69
|
+
<Lap num="11" p="2" et="1249.9877" s1="42.8742" s2="55.1942" s3="22.8089" fuel="0.529">120.8774</Lap>
|
70
|
+
<Lap num="12" p="2" et="1370.8651" s1="42.0483" s2="54.9263" s3="22.2972" fuel="0.486">119.2719</Lap>
|
71
|
+
<BestLapTime>119.1914</BestLapTime>
|
72
|
+
<Laps>12</Laps>
|
73
|
+
<Pitstops>0</Pitstops>
|
74
|
+
<FinishStatus>DQ</FinishStatus>
|
75
|
+
<ControlAndAids startLap="1" endLap="12">PlayerControl,Clutch,AutoBlip</ControlAndAids>
|
76
|
+
</Driver>
|
77
|
+
</Race>
|
78
|
+
</RaceResults>
|
79
|
+
</rFactorXML>
|
@@ -0,0 +1,199 @@
|
|
1
|
+
require File.join( File.dirname(__FILE__), '..', 'spec_helper' )
|
2
|
+
|
3
|
+
describe Dyno::Parsers::GTR2Parser do
|
4
|
+
|
5
|
+
it 'should respond to .parse' do
|
6
|
+
Dyno::Parsers::GTR2Parser.should respond_to(:parse)
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'should respond to .parse_file' do
|
10
|
+
Dyno::Parsers::GTR2Parser.should respond_to(:parse_file)
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'should respond to #parse' do
|
14
|
+
Dyno::Parsers::GTR2Parser.public_instance_methods.should include('parse')
|
15
|
+
end
|
16
|
+
|
17
|
+
# --------------
|
18
|
+
# Event parsing.
|
19
|
+
|
20
|
+
|
21
|
+
describe 'parse_event!' do
|
22
|
+
before(:all) do
|
23
|
+
@event = Dyno::Parsers::GTR2Parser.parse_file(
|
24
|
+
'spec/fixtures/gtr2/header_only.ini'
|
25
|
+
)
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'should set the mod used' do
|
29
|
+
@event.game.should == 'GT Legends'
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'should correctly set the game version' do
|
33
|
+
# 1.100
|
34
|
+
@event.game_version.should == 1.1 # (close enough)
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'should correctly set the event time' do
|
38
|
+
# 2009/01/15 21:25:31
|
39
|
+
@event.time.should == Time.local(2009, 1, 15, 21, 25, 31)
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'should correctly set the track' do
|
43
|
+
@event.track.should == 'Nuerburgring'
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'should not set the track if one could not be discerned' do
|
47
|
+
event = Dyno::Parsers::GTR2Parser.parse_file(
|
48
|
+
'spec/fixtures/gtr2/header_no_track.ini'
|
49
|
+
)
|
50
|
+
|
51
|
+
event.track.should be_nil
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'should whine loudly if there is no "Header" section' do
|
55
|
+
lambda {
|
56
|
+
Dyno::Parsers::GTR2Parser.parse_file(
|
57
|
+
'spec/fixtures/gtr2/no_header_section.ini'
|
58
|
+
)
|
59
|
+
}.should raise_error(Dyno::MalformedInputError)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
# -------------------
|
64
|
+
# Competitor parsing.
|
65
|
+
|
66
|
+
describe 'parse_competitors!' do
|
67
|
+
before(:all) do
|
68
|
+
@event = Dyno::Parsers::GTR2Parser.parse_file(
|
69
|
+
'spec/fixtures/gtr2/single_driver.ini'
|
70
|
+
)
|
71
|
+
end
|
72
|
+
|
73
|
+
it 'should set the driver name correctly' do
|
74
|
+
@event.competitors.first.name.should == 'Brooke Evans'
|
75
|
+
end
|
76
|
+
|
77
|
+
it 'should set the vehicle correctly' do
|
78
|
+
@event.competitors.first.vehicle.should == 'Abarth 1000TC'
|
79
|
+
end
|
80
|
+
|
81
|
+
it 'should set the lap count correctly' do
|
82
|
+
@event.competitors.first.laps.should == 57
|
83
|
+
end
|
84
|
+
|
85
|
+
it 'should convert the race time to a float' do
|
86
|
+
@event.competitors.first.race_time.should == 3064.24
|
87
|
+
end
|
88
|
+
|
89
|
+
it 'should convert the best lap time to a float' do
|
90
|
+
@event.competitors.first.best_lap.should == 50.301
|
91
|
+
end
|
92
|
+
|
93
|
+
it "should correctly set the competitors lap times" do
|
94
|
+
@event.competitors.first.lap_times.should == [
|
95
|
+
70.567, # Lap=( 0, -1.000, 1:10.567)
|
96
|
+
173.678, # Lap=( 1, 110.474, 2:53.678)
|
97
|
+
51.933, # Lap=( 2, 284.151, 0:51.933)
|
98
|
+
52.017, # Lap=( 3, 336.084, 0:52.017)
|
99
|
+
51.391, # Lap=( 4, 388.101, 0:51.391)
|
100
|
+
50.933, # Lap=( 5, 439.492, 0:50.933)
|
101
|
+
51.078, # Lap=( 6, 490.424, 0:51.078)
|
102
|
+
51.198, # Lap=( 7, 541.502, 0:51.198)
|
103
|
+
51.226, # Lap=( 8, 592.700, 0:51.226)
|
104
|
+
51.048, # Lap=( 9, 643.926, 0:51.048)
|
105
|
+
50.619, # Lap=(10, 694.974, 0:50.619)
|
106
|
+
50.707, # Lap=(11, 745.593, 0:50.707)
|
107
|
+
50.911, # Lap=(12, 796.300, 0:50.911)
|
108
|
+
51.164, # Lap=(13, 847.210, 0:51.164)
|
109
|
+
58.389, # Lap=(14, 898.374, 0:58.389)
|
110
|
+
50.537, # Lap=(15, 956.763, 0:50.537)
|
111
|
+
51.526, # Lap=(16, 1007.300, 0:51.526)
|
112
|
+
50.850, # Lap=(17, 1058.826, 0:50.850)
|
113
|
+
51.110, # Lap=(18, 1109.676, 0:51.110)
|
114
|
+
50.539, # Lap=(19, 1160.786, 0:50.539)
|
115
|
+
50.834, # Lap=(20, 1211.325, 0:50.834)
|
116
|
+
50.747, # Lap=(21, 1262.159, 0:50.747)
|
117
|
+
51.428, # Lap=(22, 1312.906, 0:51.428)
|
118
|
+
50.301, # Lap=(23, 1364.334, 0:50.301)
|
119
|
+
50.658, # Lap=(24, 1414.635, 0:50.658)
|
120
|
+
50.681, # Lap=(25, 1465.293, 0:50.681)
|
121
|
+
50.710, # Lap=(26, 1515.974, 0:50.710)
|
122
|
+
51.151, # Lap=(27, 1566.683, 0:51.151)
|
123
|
+
51.321, # Lap=(28, 1617.834, 0:51.321)
|
124
|
+
52.063, # Lap=(29, 1669.155, 0:52.063)
|
125
|
+
50.639, # Lap=(30, 1721.218, 0:50.639)
|
126
|
+
51.135, # Lap=(31, 1771.857, 0:51.135)
|
127
|
+
51.001, # Lap=(32, 1822.992, 0:51.001)
|
128
|
+
51.648, # Lap=(33, 1873.993, 0:51.648)
|
129
|
+
52.716, # Lap=(34, 1925.641, 0:52.716)
|
130
|
+
51.361, # Lap=(35, 1978.357, 0:51.361)
|
131
|
+
50.680, # Lap=(36, 2029.718, 0:50.680)
|
132
|
+
50.842, # Lap=(37, 2080.397, 0:50.842)
|
133
|
+
50.552, # Lap=(38, 2131.240, 0:50.552)
|
134
|
+
51.529, # Lap=(39, 2181.791, 0:51.529)
|
135
|
+
50.987, # Lap=(40, 2233.320, 0:50.987)
|
136
|
+
54.226, # Lap=(41, 2284.307, 0:54.226)
|
137
|
+
51.379, # Lap=(42, 2338.533, 0:51.379)
|
138
|
+
50.680, # Lap=(43, 2389.912, 0:50.680)
|
139
|
+
50.629, # Lap=(44, 2440.592, 0:50.629)
|
140
|
+
50.645, # Lap=(45, 2491.222, 0:50.645)
|
141
|
+
50.832, # Lap=(46, 2541.866, 0:50.832)
|
142
|
+
50.488, # Lap=(47, 2592.698, 0:50.488)
|
143
|
+
50.728, # Lap=(48, 2643.187, 0:50.728)
|
144
|
+
51.133, # Lap=(49, 2693.915, 0:51.133)
|
145
|
+
51.035, # Lap=(50, 2745.048, 0:51.035)
|
146
|
+
50.612, # Lap=(51, 2796.083, 0:50.612)
|
147
|
+
50.669, # Lap=(52, 2846.695, 0:50.669)
|
148
|
+
50.849, # Lap=(53, 2897.364, 0:50.849)
|
149
|
+
51.833, # Lap=(54, 2948.213, 0:51.833)
|
150
|
+
53.271, # Lap=(55, 3000.046, 0:53.271)
|
151
|
+
50.831 # Lap=(56, 3053.317, 0:50.831)
|
152
|
+
]
|
153
|
+
end
|
154
|
+
|
155
|
+
it 'should correctly sort drivers by their finishing time, and assign their position' do
|
156
|
+
event = Dyno::Parsers::GTR2Parser.parse_file(
|
157
|
+
'spec/fixtures/gtr2/full.ini'
|
158
|
+
)
|
159
|
+
|
160
|
+
[ "Dirk Koch", "Edyta Piotrowski", "Quarantino Angelo",
|
161
|
+
"Favian Fl\303\263rez Romo", "Florka Szigeti", "Elizabeth Cole",
|
162
|
+
"Amadej Gorski", "Edna Lenardi\304\215", "Aaliyah Vaughan",
|
163
|
+
"Zurie Martel", "Harvey Edwards", "Fruzsina Szegedi",
|
164
|
+
"Brooke Evans", "Mimi Kanazawa", "Henk Thygesen", "Mari Kaitala",
|
165
|
+
"Ralf Holtzmann", "Casandra Lindgren","Paul Godden",
|
166
|
+
"Leanne Yamamoto", "Micheal L Cohen", "Lazaro Atkins",
|
167
|
+
"Vickie Avila", "Max Holmberg"
|
168
|
+
].each_with_index do |driver, i|
|
169
|
+
event.competitors[i].name.should == driver
|
170
|
+
event.competitors[i].position.should == i + 1
|
171
|
+
end
|
172
|
+
|
173
|
+
[ ["Dirk Koch", 60, "0:50:49.079", 953.381042],
|
174
|
+
["Edyta Piotrowski", 60, "0:51:01.283", 1001.334045],
|
175
|
+
["Quarantino Angelo", 60, "0:51:13.913", 923.919434],
|
176
|
+
["Favian Fl\303\263rez Romo", 60, "0:51:29.832", 888.234070],
|
177
|
+
["Florka Szigeti", 59, "0:51:05.657", 914.989380],
|
178
|
+
["Elizabeth Cole", 59, "0:52:27.937", 1435.967285],
|
179
|
+
["Amadej Gorski", 58, "0:50:51.446", 919.585510],
|
180
|
+
["Edna Lenardi\304\215", 58, "0:50:54.579", 878.564331],
|
181
|
+
["Aaliyah Vaughan", 58, "0:51:27.133", 869.708801],
|
182
|
+
["Zurie Martel", 58, "0:51:39.759", 890.637634],
|
183
|
+
["Harvey Edwards", 58, "0:52:45.872", 203.332077],
|
184
|
+
["Fruzsina Szegedi", 57, "0:50:52.005", 934.139587],
|
185
|
+
["Brooke Evans", 57, "0:51:04.240", 928.759644],
|
186
|
+
["Mimi Kanazawa", 55, "0:51:20.462", 944.112854],
|
187
|
+
["Henk Thygesen", 52, "DNF", 1226.803223],
|
188
|
+
["Mari Kaitala", 49, "DNF", 480.238708],
|
189
|
+
["Ralf Holtzmann", 42, "DNF", 1118.922363],
|
190
|
+
["Casandra Lindgren", 42, "DNF", 1227.348511],
|
191
|
+
["Paul Godden", 38, "DNF", 520.843872],
|
192
|
+
["Leanne Yamamoto", 37, "DNF", 1369.497681],
|
193
|
+
["Micheal L Cohen", 14, "DNF", 848.236938],
|
194
|
+
["Lazaro Atkins", 13, "DNF", 199.718567],
|
195
|
+
["Vickie Avila", 12, "DNF", 962.172485],
|
196
|
+
["Max Holmberg", 3, "DQ", 907.125916]]
|
197
|
+
end
|
198
|
+
end
|
199
|
+
end
|