Gooby 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. data/README +218 -0
  2. data/bin/forerunner_xml_parser.rb +28 -0
  3. data/bin/forerunner_xml_parser.sh +16 -0
  4. data/bin/forerunner_xml_splitter.rb +60 -0
  5. data/bin/gen_gmap.rb +30 -0
  6. data/bin/gen_gmap.sh +19 -0
  7. data/bin/tests_gen.rb +13 -0
  8. data/data/20041113_richmond_marathon.csv +1036 -0
  9. data/data/20041113_richmond_marathon.xml +8663 -0
  10. data/data/20050305_corporate_cup_hm.csv +251 -0
  11. data/data/20050305_corporate_cup_hm.xml +2208 -0
  12. data/data/20050430_nashville_marathon.csv +1208 -0
  13. data/data/20050430_nashville_marathon.xml +10043 -0
  14. data/data/20051119_dowd_ymca_hm.csv +251 -0
  15. data/data/20051119_dowd_ymca_hm.xml +2210 -0
  16. data/data/20051124_hyatt_turkey_trot_8K.csv +321 -0
  17. data/data/20051124_hyatt_turkey_trot_8K.xml +2651 -0
  18. data/data/forerunner_2005.xml +259620 -0
  19. data/data/forerunner_2006.xml +190853 -0
  20. data/data/forerunner_2007.xml +259014 -0
  21. data/data/geo_data.txt +171 -0
  22. data/data/phx.csv +1280 -0
  23. data/data/phx.xml +10620 -0
  24. data/data/run_2007_01_01_16_38_27.xml +2020 -0
  25. data/data/run_2007_01_06_15_27_31.xml +2020 -0
  26. data/data/run_2007_01_10_12_25_47.xml +820 -0
  27. data/data/run_2007_01_10_22_44_54.csv +112 -0
  28. data/data/run_2007_01_10_22_44_54.xml +908 -0
  29. data/data/run_2007_01_11_10_48_45.xml +1292 -0
  30. data/data/run_2007_01_13_15_37_06.xml +1964 -0
  31. data/data/run_2007_01_14_15_46_02.xml +1368 -0
  32. data/data/run_2007_01_15_14_01_48.xml +1868 -0
  33. data/data/run_2007_01_20_16_22_05.xml +1702 -0
  34. data/data/run_2007_01_27_17_32_13.xml +3626 -0
  35. data/data/run_2007_01_28_19_14_52.xml +2538 -0
  36. data/data/run_2007_02_03_14_30_20.xml +2016 -0
  37. data/data/run_2007_02_04_18_02_30.xml +1476 -0
  38. data/data/run_2007_02_17_16_29_35.xml +1236 -0
  39. data/data/run_2007_02_19_14_44_33.xml +1816 -0
  40. data/data/run_2007_02_23_15_53_55.xml +36 -0
  41. data/data/run_2007_02_23_15_55_20.xml +1296 -0
  42. data/data/run_2007_02_24_15_01_35.csv +484 -0
  43. data/data/run_2007_02_24_15_01_35.xml +3884 -0
  44. data/data/test1.txt +4 -0
  45. data/lib/cls_counter_hash.rb +83 -0
  46. data/lib/cls_delim_line.rb +40 -0
  47. data/lib/cls_dttm.rb +84 -0
  48. data/lib/cls_duration.rb +87 -0
  49. data/lib/cls_forerunner_xml_parser.rb +183 -0
  50. data/lib/cls_forerunner_xml_splitter.rb +113 -0
  51. data/lib/cls_geo_data.rb +186 -0
  52. data/lib/cls_gooby_object.rb +23 -0
  53. data/lib/cls_google_map_generator.rb +368 -0
  54. data/lib/cls_history.rb +38 -0
  55. data/lib/cls_lap.rb +27 -0
  56. data/lib/cls_line.rb +78 -0
  57. data/lib/cls_options.rb +74 -0
  58. data/lib/cls_position.rb +49 -0
  59. data/lib/cls_run.rb +199 -0
  60. data/lib/cls_simple_xml_parser.rb +46 -0
  61. data/lib/cls_test_regen.rb +187 -0
  62. data/lib/cls_track.rb +52 -0
  63. data/lib/cls_trackpoint.rb +205 -0
  64. data/lib/mod_introspect.rb +33 -0
  65. data/lib/mod_io.rb +65 -0
  66. data/lib/mod_project_info.rb +81 -0
  67. data/lib/mod_string.rb +26 -0
  68. data/lib/mod_test_helper.rb +22 -0
  69. data/samples/20041113_richmond_marathon.html +532 -0
  70. data/samples/20050305_corporate_cup_hm.html +448 -0
  71. data/samples/20050430_nashville_marathon.html +530 -0
  72. data/samples/gps_point_capture.html +54 -0
  73. data/samples/phoenix_marathon.html +542 -0
  74. data/samples/run_2007_01_10_22_44_54.html +146 -0
  75. data/samples/run_2007_02_24_15_01_35.html +298 -0
  76. data/tests/tst_cls_counter_hash.rb +105 -0
  77. data/tests/tst_cls_delim_line.rb +72 -0
  78. data/tests/tst_cls_dttm.rb +129 -0
  79. data/tests/tst_cls_duration.rb +49 -0
  80. data/tests/tst_cls_forerunner_xml_parser.rb +68 -0
  81. data/tests/tst_cls_geo_data.rb +69 -0
  82. data/tests/tst_cls_gooby_object.rb +24 -0
  83. data/tests/tst_cls_google_map_generator.rb +107 -0
  84. data/tests/tst_cls_history.rb +44 -0
  85. data/tests/tst_cls_lap.rb +36 -0
  86. data/tests/tst_cls_line.rb +108 -0
  87. data/tests/tst_cls_options.rb +77 -0
  88. data/tests/tst_cls_position.rb +64 -0
  89. data/tests/tst_cls_run.rb +140 -0
  90. data/tests/tst_cls_simple_xml_parser.rb +48 -0
  91. data/tests/tst_cls_track.rb +68 -0
  92. data/tests/tst_cls_trackpoint.rb +143 -0
  93. data/tests/tst_gooby.rb +28 -0
  94. data/tests/tst_mod_introspect.rb +30 -0
  95. data/tests/tst_mod_io.rb +51 -0
  96. data/tests/tst_mod_project_info.rb +77 -0
  97. data/tests/tst_mod_string.rb +56 -0
  98. metadata +142 -0
@@ -0,0 +1,44 @@
1
+ =begin rdoc
2
+
3
+ Gooby - Copyright 2007 by Chris Joakim.
4
+ Gooby is available under GNU General Public License (GPL) license.
5
+
6
+ =end
7
+
8
+ require 'gooby'
9
+ require 'test/unit'
10
+
11
+ class TestClassHistory < Test::Unit::TestCase
12
+
13
+ include Gooby::TestHelper
14
+
15
+ @debug = false
16
+
17
+ ### Start of tests. Keep this line - see class TestGenerator.
18
+
19
+ def test_class_History
20
+
21
+ end
22
+
23
+ def test_class_History_add_run
24
+
25
+ end
26
+
27
+ def test_class_History_initialize
28
+
29
+ end
30
+
31
+ def test_class_History_print_string
32
+
33
+ end
34
+
35
+ def test_class_History_to_s
36
+
37
+ end
38
+
39
+ # Warning: possible obsolete test method - test_stub
40
+
41
+ def test_stub
42
+
43
+ end
44
+ end
@@ -0,0 +1,36 @@
1
+ =begin rdoc
2
+
3
+ Gooby - Copyright 2007 by Chris Joakim.
4
+ Gooby is available under GNU General Public License (GPL) license.
5
+
6
+ =end
7
+
8
+ require 'gooby'
9
+ require 'test/unit'
10
+
11
+ class TestClassLap < Test::Unit::TestCase
12
+
13
+ include Gooby::TestHelper
14
+
15
+ @debug = false
16
+
17
+ ### Start of tests. Keep this line - see class TestGenerator.
18
+
19
+ def test_class_Lap
20
+
21
+ end
22
+
23
+ def test_class_Lap_initialize
24
+
25
+ end
26
+
27
+ def test_class_Lap_to_s
28
+
29
+ end
30
+
31
+ # Warning: possible obsolete test method - test_stub
32
+
33
+ def test_stub
34
+
35
+ end
36
+ end
@@ -0,0 +1,108 @@
1
+ =begin rdoc
2
+
3
+ Gooby - Copyright 2007 by Chris Joakim.
4
+ Gooby is available under GNU General Public License (GPL) license.
5
+
6
+ =end
7
+
8
+ require 'gooby'
9
+ require 'test/unit'
10
+
11
+ class TestClassLine < Test::Unit::TestCase
12
+
13
+ include Gooby::TestHelper
14
+
15
+ @debug = false
16
+
17
+ ### Start of tests. Keep this line - see class TestGenerator.
18
+
19
+ def test_class_Line
20
+
21
+ end
22
+
23
+ def test_class_Line_concatinate_tokens
24
+
25
+ s = '35.4954711908794 -80.83214521408081 Home at South Faulkner Way Stopsign'
26
+ line = Gooby::Line.new(s)
27
+ actual = line.concatinate_tokens(2)
28
+ expected = 'Home at South Faulkner Way Stopsign'
29
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
30
+ end
31
+
32
+ def test_class_Line_initialize
33
+
34
+ s = '35.4954711908794 -80.83214521408081 Home at South Faulkner Way Stopsign'
35
+ line = Gooby::Line.new(s)
36
+ actual = line.tokens[6]
37
+ expected = 'Way'
38
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
39
+ end
40
+
41
+ def test_class_Line_is_comment
42
+
43
+ line = Gooby::Line.new(' # hello ')
44
+ actual = line.is_comment
45
+ expected = true
46
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
47
+
48
+ line = Gooby::Line.new('heck no')
49
+ actual = line.is_comment
50
+ expected = false
51
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
52
+
53
+ end
54
+
55
+ def test_class_Line_is_populated_non_comment
56
+
57
+ end
58
+
59
+ def test_class_Line_match
60
+
61
+ end
62
+
63
+ def test_class_Line_token
64
+
65
+ end
66
+
67
+ def test_class_Line_token_count
68
+
69
+ end
70
+
71
+ def test_class_Line_token_idx_equals
72
+
73
+ s = '35.4954711908794 -80.83214521408081 Home at South Faulkner Way Stopsign'
74
+ line = Gooby::Line.new(s)
75
+
76
+ actual = line.token_idx_equals(2, 'Home')
77
+ expected = true
78
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
79
+
80
+ actual = line.token_idx_equals(1, 'Home')
81
+ expected = false
82
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
83
+
84
+ actual = line.token_idx_equals(99, 'Home')
85
+ expected = false
86
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
87
+ end
88
+
89
+ # Warning: possible obsolete test method - test_class_is_populated_non_comment
90
+
91
+ def test_class_is_populated_non_comment
92
+
93
+ line = Gooby::Line.new(' # hello ')
94
+ actual = line.is_populated_non_comment
95
+ expected = false
96
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
97
+
98
+ line = Gooby::Line.new('heck no')
99
+ actual = line.is_populated_non_comment
100
+ expected = true
101
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
102
+
103
+ line = Gooby::Line.new(' ')
104
+ actual = line.is_populated_non_comment
105
+ expected = false
106
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
107
+ end
108
+ end
@@ -0,0 +1,77 @@
1
+ =begin rdoc
2
+
3
+ Gooby - Copyright 2007 by Chris Joakim.
4
+ Gooby is available under GNU General Public License (GPL) license.
5
+
6
+ =end
7
+
8
+ require 'gooby'
9
+ require 'test/unit'
10
+
11
+ class TestClassOptions < Test::Unit::TestCase
12
+
13
+ include Gooby::TestHelper
14
+
15
+ @debug = false
16
+
17
+ ### Start of tests. Keep this line - see class TestGenerator.
18
+
19
+ def test_class_Options
20
+
21
+ end
22
+
23
+ def test_class_Options_get
24
+
25
+ opts = Gooby::Options.new('gooby_options.yaml')
26
+
27
+ actual = opts.get('gmap_map_element_id')
28
+ expected = 'map'
29
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
30
+
31
+ actual = opts.get('gmap_width')
32
+ expected = '900px'
33
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
34
+
35
+ actual = opts.get('gmap_height')
36
+ expected = '600px'
37
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
38
+
39
+ actual = opts.get('gmap_approx_max_points')
40
+ expected = '200'.to_i
41
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
42
+
43
+ actual = opts.get('oops_not_there')
44
+ expected = ''
45
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
46
+
47
+ name = 'gmap_type_control'
48
+ actual = opts.get("#{name}")
49
+ assert(actual == true, "#{name} value is not as expected; #{actual}")
50
+
51
+ name = 'gmap_gen_comments'
52
+ actual = opts.get(name)
53
+ expected = true
54
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
55
+ end
56
+
57
+ def test_class_Options_initialize
58
+
59
+ opts = Gooby::Options.new('gooby_options.yaml')
60
+ actual = opts.yamlFilename
61
+ expected = "gooby_options.yaml"
62
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
63
+ end
64
+
65
+ def test_class_Options_loadFile
66
+
67
+ # This method is tested in the other test methods.
68
+ end
69
+
70
+ def test_class_Options_to_s
71
+
72
+ opts = Gooby::Options.new('gooby_options.yaml')
73
+ actual = opts.to_s
74
+ expected = "Options: filename: gooby_options.yaml entries: 9"
75
+ # assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
76
+ end
77
+ end
@@ -0,0 +1,64 @@
1
+ =begin rdoc
2
+
3
+ Gooby - Copyright 2007 by Chris Joakim.
4
+ Gooby is available under GNU General Public License (GPL) license.
5
+
6
+ =end
7
+
8
+ require 'gooby'
9
+ require 'test/unit'
10
+
11
+ class TestClassPosition < Test::Unit::TestCase
12
+
13
+ include Gooby::TestHelper
14
+
15
+ @debug = false
16
+
17
+ ### Start of tests. Keep this line - see class TestGenerator.
18
+
19
+ def test_class_Position
20
+
21
+ end
22
+
23
+ def test_class_Position_altitude_as_float
24
+
25
+ pos = Gooby::Position.new('35.49910', '-80.83695', '220.279')
26
+ assert_equal(220.279, pos.altitude_as_float, "altitude is not as expected.")
27
+ end
28
+
29
+ def test_class_Position_initialize
30
+
31
+ pos = Gooby::Position.new('35.49910', '-80.83695', '220.279')
32
+ assert_equal('35.49910', pos.latitude, "latitude is not as expected.")
33
+ assert_equal('-80.83695', pos.longitude, "longitude is not as expected.")
34
+ assert_equal('220.279', pos.altitude, "altitude is not as expected.")
35
+ end
36
+
37
+ def test_class_Position_latitude_as_float
38
+
39
+ pos = Gooby::Position.new('35.49910', '-80.83695', '220.279')
40
+ assert_equal(35.49910, pos.latitude_as_float, "latitude is not as expected.")
41
+ end
42
+
43
+ def test_class_Position_longitude_as_float
44
+
45
+ pos = Gooby::Position.new('35.49910', '-80.83695', '220.279')
46
+ assert_equal(-80.83695, pos.longitude_as_float, "longitude is not as expected.")
47
+ end
48
+
49
+ def test_class_Position_to_csv
50
+
51
+ pos = Gooby::Position.new('35.49910', '-80.83695', '220.279')
52
+ actual = pos.to_csv
53
+ expected = '35.49910 | -80.83695 | 220.279'
54
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
55
+ end
56
+
57
+ def test_class_Position_to_s
58
+
59
+ pos = Gooby::Position.new('35.49910', '-80.83695', '220.279')
60
+ actual = pos.to_s
61
+ expected = 'lat: 35.49910 lng: -80.83695 alt: 220.279 note: '
62
+ assert_equal(expected, actual, "value is not as expected; #{actual} vs #{expected}")
63
+ end
64
+ end
@@ -0,0 +1,140 @@
1
+ =begin rdoc
2
+
3
+ Gooby - Copyright 2007 by Chris Joakim.
4
+ Gooby is available under GNU General Public License (GPL) license.
5
+
6
+ =end
7
+
8
+ require 'gooby'
9
+ require 'test/unit'
10
+
11
+ class TestClassRun < Test::Unit::TestCase
12
+
13
+ include Gooby::TestHelper
14
+
15
+ @debug = false
16
+
17
+ ### Start of tests. Keep this line - see class TestGenerator.
18
+
19
+ def test_class_Run
20
+
21
+ end
22
+
23
+ def test_class_Run_add_lap
24
+
25
+ end
26
+
27
+ def test_class_Run_add_track
28
+
29
+ end
30
+
31
+ # Warning: possible obsolete test method - test_class_Run_compute_center_point
32
+
33
+ def test_class_Run_compute_center_point
34
+
35
+ end
36
+
37
+ def test_class_Run_compute_distance_and_pace
38
+
39
+ end
40
+
41
+ def test_class_Run_compute_splits
42
+
43
+ end
44
+
45
+ def test_class_Run_duration
46
+
47
+ end
48
+
49
+ def test_class_Run_end_dttm
50
+
51
+ end
52
+
53
+ def test_class_Run_end_hh_mm_ss
54
+
55
+ end
56
+
57
+ # Warning: possible obsolete test method - test_class_Run_filter_trackpoints
58
+
59
+ def test_class_Run_filter_trackpoints
60
+
61
+ end
62
+
63
+ def test_class_Run_finish
64
+
65
+ end
66
+
67
+ # Warning: possible obsolete test method - test_class_Run_generate_gmap_info
68
+
69
+ def test_class_Run_generate_gmap_info
70
+
71
+ end
72
+
73
+ # Warning: possible obsolete test method - test_class_Run_generate_gpoint_array
74
+
75
+ def test_class_Run_generate_gpoint_array
76
+
77
+ end
78
+
79
+ # Warning: possible obsolete test method - test_class_Run_generate_key_js
80
+
81
+ def test_class_Run_generate_key_js
82
+
83
+ end
84
+
85
+ # Warning: possible obsolete test method - test_class_Run_generate_overlay_points
86
+
87
+ def test_class_Run_generate_overlay_points
88
+
89
+ end
90
+
91
+ def test_class_Run_initialize
92
+
93
+ end
94
+
95
+ def test_class_Run_lapCount
96
+
97
+ end
98
+
99
+ def test_class_Run_print_string
100
+
101
+ end
102
+
103
+ def test_class_Run_put_csv
104
+
105
+ end
106
+
107
+ def test_class_Run_put_laps
108
+
109
+ end
110
+
111
+ def test_class_Run_put_tkpt_csv
112
+
113
+ end
114
+
115
+ def test_class_Run_start_dttm
116
+
117
+ end
118
+
119
+ def test_class_Run_start_hh_mm_ss
120
+
121
+ end
122
+
123
+ def test_class_Run_start_yyyy_mm_dd
124
+
125
+ end
126
+
127
+ def test_class_Run_to_s
128
+
129
+ end
130
+
131
+ def test_class_Run_trackpoint_count
132
+
133
+ end
134
+
135
+ # Warning: possible obsolete test method - test_stub
136
+
137
+ def test_stub
138
+
139
+ end
140
+ end