phidgets 0.0.5 → 0.1.0
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/History.txt +10 -2
- data/README.rdoc +41 -18
- data/Rakefile +31 -20
- data/bin/phidget +29 -44
- data/ext/phidgets/extconf.rb +14 -0
- data/ext/phidgets/phidgets.c +272 -0
- data/ext/phidgets/phidgets.h +82 -0
- data/ext/phidgets/phidgets_accelerometer.c +165 -0
- data/ext/phidgets/phidgets_advanced_servo.c +567 -0
- data/ext/phidgets/phidgets_analog.c +139 -0
- data/ext/phidgets/phidgets_bridge.c +263 -0
- data/ext/phidgets/phidgets_common.c +454 -0
- data/ext/phidgets/phidgets_dictionary.c +279 -0
- data/ext/phidgets/phidgets_encoder.c +249 -0
- data/ext/phidgets/phidgets_frequency_counter.c +241 -0
- data/ext/phidgets/phidgets_gps.c +235 -0
- data/ext/phidgets/phidgets_interface_kit.c +340 -0
- data/ext/phidgets/phidgets_ir.c +251 -0
- data/ext/phidgets/phidgets_led.c +178 -0
- data/ext/phidgets/phidgets_manager.c +366 -0
- data/ext/phidgets/phidgets_motor_control.c +642 -0
- data/ext/phidgets/phidgets_phsensor.c +208 -0
- data/ext/phidgets/phidgets_rfid.c +281 -0
- data/ext/phidgets/phidgets_servo.c +276 -0
- data/ext/phidgets/phidgets_spatial.c +369 -0
- data/ext/phidgets/phidgets_stepper.c +560 -0
- data/ext/phidgets/phidgets_temp_sensor.c +295 -0
- data/ext/phidgets/phidgets_text_lcd.c +381 -0
- data/ext/phidgets/phidgets_text_led.c +107 -0
- data/ext/phidgets/phidgets_weight_sensor.c +113 -0
- data/lib/phidgets/accelerometer.rb +25 -0
- data/lib/phidgets/advanced_servo.rb +49 -0
- data/lib/phidgets/analog.rb +8 -0
- data/lib/phidgets/bridge.rb +25 -0
- data/lib/phidgets/common.rb +75 -190
- data/lib/phidgets/dictionary.rb +53 -0
- data/lib/phidgets/encoder.rb +49 -0
- data/lib/phidgets/frequency_counter.rb +25 -0
- data/lib/phidgets/gps.rb +37 -0
- data/lib/phidgets/interfacekit.rb +38 -128
- data/lib/phidgets/ir.rb +50 -0
- data/lib/phidgets/led.rb +8 -0
- data/lib/phidgets/manager.rb +67 -119
- data/lib/phidgets/motor_control.rb +110 -0
- data/lib/phidgets/ph_sensor.rb +25 -0
- data/lib/phidgets/rfid.rb +38 -111
- data/lib/phidgets/servo.rb +12 -95
- data/lib/phidgets/spatial.rb +25 -0
- data/lib/phidgets/stepper.rb +61 -0
- data/lib/phidgets/temperature_sensor.rb +25 -0
- data/lib/phidgets/text_lcd.rb +8 -0
- data/lib/phidgets/text_led.rb +8 -0
- data/lib/phidgets/weight_sensor.rb +25 -0
- data/lib/phidgets.rb +22 -3
- data/phidgets.gemspec +42 -0
- data/test/test_accelerometer.rb +47 -0
- data/test/test_advanced_servo.rb +152 -0
- data/test/test_analog.rb +45 -0
- data/test/test_bridge.rb +77 -0
- data/test/test_common.rb +167 -0
- data/test/test_dictionary.rb +82 -0
- data/test/test_encoder.rb +67 -0
- data/test/test_frequency_counter.rb +67 -0
- data/test/test_gps.rb +67 -0
- data/test/test_helper.rb +1 -0
- data/test/test_interfacekit.rb +86 -182
- data/test/test_ir.rb +57 -0
- data/test/test_led.rb +55 -0
- data/test/test_manager.rb +94 -0
- data/test/test_motor_control.rb +172 -0
- data/test/test_phidgets.rb +14 -6
- data/test/test_phsensor.rb +62 -0
- data/test/test_rfid.rb +77 -0
- data/test/test_servo.rb +67 -0
- data/test/test_spatial.rb +112 -0
- data/test/test_stepper.rb +163 -0
- data/test/test_temp_sensor.rb +87 -0
- data/test/test_text_lcd.rb +115 -0
- data/test/test_text_led.rb +35 -0
- data/test/test_weight_sensor.rb +32 -0
- metadata +165 -75
- data/Manifest.txt +0 -21
- data/PostInstall.txt +0 -3
- data/README.txt +0 -87
- data/lib/phidgets/phidgets.rb +0 -225
- data/script/console +0 -10
- data/script/destroy +0 -14
- data/script/generate +0 -14
data/test/test_gps.rb
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper.rb'
|
2
|
+
|
3
|
+
class TestPhidgetsGPS < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def test_create
|
6
|
+
assert_nothing_raised {Phidgets::GPS.new}
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_get_latitude
|
10
|
+
gps = Phidgets::GPS.new
|
11
|
+
assert_raise(Phidgets::Error::NotAttached) {gps.latitude}
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_get_longitude
|
15
|
+
gps = Phidgets::GPS.new
|
16
|
+
assert_raise(Phidgets::Error::NotAttached) {gps.longitude}
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_get_altitude
|
20
|
+
gps = Phidgets::GPS.new
|
21
|
+
assert_raise(Phidgets::Error::NotAttached) {gps.altitude}
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_get_heading
|
25
|
+
gps = Phidgets::GPS.new
|
26
|
+
assert_raise(Phidgets::Error::NotAttached) {gps.heading}
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_get_velocity
|
30
|
+
gps = Phidgets::GPS.new
|
31
|
+
assert_raise(Phidgets::Error::NotAttached) {gps.velocity}
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_get_time
|
35
|
+
gps = Phidgets::GPS.new
|
36
|
+
assert_raise(Phidgets::Error::NotAttached) {gps.time}
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_get_date
|
40
|
+
gps = Phidgets::GPS.new
|
41
|
+
assert_raise(Phidgets::Error::NotAttached) {gps.date}
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_get_position_fix_status
|
45
|
+
gps = Phidgets::GPS.new
|
46
|
+
assert_raise(Phidgets::Error::NotAttached) {gps.position_fix_status}
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_get_nmea_data
|
50
|
+
gps = Phidgets::GPS.new
|
51
|
+
assert_raise(Phidgets::Error::NotImplemented) {gps.nmea_data}
|
52
|
+
end
|
53
|
+
|
54
|
+
unless RUBY_VERSION < '1.9.0'
|
55
|
+
def test_set_on_position_change
|
56
|
+
gps = Phidgets::GPS.new
|
57
|
+
assert_nothing_raised {gps.on_position_change {puts 'hello'}}
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_set_on_position_fix_status_change
|
61
|
+
gps = Phidgets::GPS.new
|
62
|
+
assert_nothing_raised {gps.on_position_fix_status_change {puts 'hello'}}
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
67
|
+
|
data/test/test_helper.rb
CHANGED
data/test/test_interfacekit.rb
CHANGED
@@ -2,192 +2,96 @@ require File.dirname(__FILE__) + '/test_helper.rb'
|
|
2
2
|
|
3
3
|
class TestPhidgetsInterfaceKit < Test::Unit::TestCase
|
4
4
|
|
5
|
-
def
|
5
|
+
def test_create
|
6
|
+
assert_nothing_raised {Phidgets::InterfaceKit.new}
|
6
7
|
end
|
7
|
-
|
8
|
-
def
|
9
|
-
|
10
|
-
|
11
|
-
ik.delete
|
12
|
-
}
|
13
|
-
end
|
14
|
-
|
15
|
-
def test_002_attach
|
16
|
-
assert_nothing_raised {
|
17
|
-
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
18
|
-
ik.close
|
19
|
-
ik.delete
|
20
|
-
}
|
21
|
-
end
|
22
|
-
|
23
|
-
def test_003_fail_attach
|
24
|
-
assert_raise Phidgets::Exception do
|
25
|
-
ik = Phidgets::InterfaceKit.new(1, 2000)
|
26
|
-
ik.delete
|
27
|
-
end
|
8
|
+
|
9
|
+
def test_get_input_count
|
10
|
+
ik = Phidgets::InterfaceKit.new
|
11
|
+
assert_raise(Phidgets::Error::NotAttached) {ik.input_count}
|
28
12
|
end
|
29
|
-
|
30
|
-
def
|
31
|
-
|
32
|
-
|
33
|
-
ik.getDeviceName
|
34
|
-
ik.close
|
35
|
-
ik.delete
|
36
|
-
}
|
37
|
-
end
|
38
|
-
|
39
|
-
def test_005_get_serial_number
|
40
|
-
assert_nothing_raised {
|
41
|
-
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
42
|
-
ik.getSerialNumber
|
43
|
-
ik.close
|
44
|
-
ik.delete
|
45
|
-
}
|
46
|
-
end
|
47
|
-
|
48
|
-
def test_006_get_device_version
|
49
|
-
assert_nothing_raised {
|
50
|
-
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
51
|
-
ik.getDeviceVersion
|
52
|
-
ik.close
|
53
|
-
ik.delete
|
54
|
-
}
|
55
|
-
end
|
56
|
-
|
57
|
-
def test_007_get_device_status
|
58
|
-
assert_nothing_raised {
|
59
|
-
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
60
|
-
ik.getDeviceStatus
|
61
|
-
ik.close
|
62
|
-
ik.delete
|
63
|
-
}
|
64
|
-
end
|
65
|
-
|
66
|
-
def test_008_get_device_type
|
67
|
-
assert_nothing_raised {
|
68
|
-
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
69
|
-
ik.getDeviceType
|
70
|
-
ik.close
|
71
|
-
ik.delete
|
72
|
-
}
|
73
|
-
end
|
74
|
-
|
75
|
-
def test_009_get_device_label
|
76
|
-
assert_nothing_raised {
|
77
|
-
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
78
|
-
ik.getDeviceLabel
|
79
|
-
ik.close
|
80
|
-
ik.delete
|
81
|
-
}
|
82
|
-
end
|
83
|
-
|
84
|
-
def test_010_get_device_id
|
85
|
-
assert_nothing_raised {
|
86
|
-
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
87
|
-
ik.getDeviceID
|
88
|
-
ik.close
|
89
|
-
ik.delete
|
90
|
-
}
|
91
|
-
end
|
92
|
-
|
93
|
-
def test_011_get_device_class
|
94
|
-
device_class = Phidgets::CLASS_NOTHING
|
95
|
-
assert_nothing_raised {
|
96
|
-
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
97
|
-
device_class = ik.getDeviceClass
|
98
|
-
ik.close
|
99
|
-
ik.delete
|
100
|
-
}
|
101
|
-
assert device_class == Phidgets::CLASS_INTERFACEKIT
|
102
|
-
end
|
103
|
-
|
104
|
-
def test_012_get_input_count
|
105
|
-
device_id = 0
|
106
|
-
count = -1
|
107
|
-
assert_nothing_raised {
|
108
|
-
ik = Phidgets::InterfaceKit.new(-1, 2000)
|
109
|
-
device_id = ik.getDeviceID
|
110
|
-
count = ik.getInputCount
|
111
|
-
ik.close
|
112
|
-
ik.delete
|
113
|
-
}
|
114
|
-
case device_id
|
115
|
-
when Phidgets::ID_INTERFACEKIT_0_0_4
|
116
|
-
assert count == 0
|
117
|
-
when Phidgets::ID_INTERFACEKIT_0_0_8
|
118
|
-
assert count == 0
|
119
|
-
when Phidgets::ID_INTERFACEKIT_0_16_16
|
120
|
-
assert count == 16
|
121
|
-
when Phidgets::ID_INTERFACEKIT_8_8_8
|
122
|
-
assert count == 8
|
123
|
-
when Phidgets::ID_INTERFACEKIT_8_8_8_w_LCD
|
124
|
-
assert count == 8
|
125
|
-
when Phidgets::ID_INTERFACEKIT_0_8_8_w_LCD
|
126
|
-
assert count == 8
|
127
|
-
when Phidgets::ID_INTERFACEKIT_4_8_8
|
128
|
-
assert count == 8
|
129
|
-
else
|
130
|
-
flunk
|
131
|
-
end
|
13
|
+
|
14
|
+
def test_get_input_state
|
15
|
+
ik = Phidgets::InterfaceKit.new
|
16
|
+
assert_raise(Phidgets::Error::NotAttached) {ik.input_state 1}
|
132
17
|
end
|
133
|
-
|
134
|
-
def
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
when Phidgets::ID_INTERFACEKIT_4_8_8
|
158
|
-
assert count == 8
|
159
|
-
else
|
160
|
-
flunk
|
161
|
-
end
|
18
|
+
|
19
|
+
def test_get_output_count
|
20
|
+
ik = Phidgets::InterfaceKit.new
|
21
|
+
assert_raise(Phidgets::Error::NotAttached) {ik.output_count}
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_get_output_state
|
25
|
+
ik = Phidgets::InterfaceKit.new
|
26
|
+
assert_raise(Phidgets::Error::NotAttached) {ik.output_state 1}
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_set_output_state
|
30
|
+
ik = Phidgets::InterfaceKit.new
|
31
|
+
assert_raise(Phidgets::Error::NotAttached) {ik.set_output_state 1, true}
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_get_sensor_count
|
35
|
+
ik = Phidgets::InterfaceKit.new
|
36
|
+
assert_raise(Phidgets::Error::NotAttached) {ik.sensor_count}
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_get_sensor_value
|
40
|
+
ik = Phidgets::InterfaceKit.new
|
41
|
+
assert_raise(Phidgets::Error::NotAttached) {ik.sensor_value 1}
|
162
42
|
end
|
163
|
-
|
164
|
-
def
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
43
|
+
|
44
|
+
def test_get_sensor_raw_value
|
45
|
+
ik = Phidgets::InterfaceKit.new
|
46
|
+
assert_raise(Phidgets::Error::NotAttached) {ik.sensor_raw_value 1}
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_get_ratiometric
|
50
|
+
ik = Phidgets::InterfaceKit.new
|
51
|
+
assert_raise(Phidgets::Error::NotAttached) {ik.ratiometric?}
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_set_ratiometric
|
55
|
+
ik = Phidgets::InterfaceKit.new
|
56
|
+
assert_raise(Phidgets::Error::NotAttached) {ik.ratiometric = true}
|
57
|
+
end
|
58
|
+
|
59
|
+
def test_get_data_rate
|
60
|
+
ik = Phidgets::InterfaceKit.new
|
61
|
+
assert_raise(Phidgets::Error::NotAttached) {ik.data_rate 1}
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_get_data_rate_min
|
65
|
+
ik = Phidgets::InterfaceKit.new
|
66
|
+
assert_raise(Phidgets::Error::NotAttached) {ik.data_rate_min 1}
|
67
|
+
end
|
68
|
+
|
69
|
+
def test_get_data_rate_max
|
70
|
+
ik = Phidgets::InterfaceKit.new
|
71
|
+
assert_raise(Phidgets::Error::NotAttached) {ik.data_rate_max 1}
|
72
|
+
end
|
73
|
+
|
74
|
+
def test_set_data_rate
|
75
|
+
ik = Phidgets::InterfaceKit.new
|
76
|
+
assert_raise(Phidgets::Error::NotAttached) {ik.set_data_rate 1, 5}
|
77
|
+
end
|
78
|
+
|
79
|
+
unless RUBY_VERSION < '1.9.0'
|
80
|
+
def test_set_on_input_change
|
81
|
+
ik = Phidgets::InterfaceKit.new
|
82
|
+
assert_nothing_raised {ik.on_input_change {puts 'hello'}}
|
83
|
+
end
|
84
|
+
|
85
|
+
def test_set_on_output_change
|
86
|
+
ik = Phidgets::InterfaceKit.new
|
87
|
+
assert_nothing_raised {ik.on_output_change {puts 'hello'}}
|
88
|
+
end
|
89
|
+
|
90
|
+
def test_set_on_sensor_change
|
91
|
+
ik = Phidgets::InterfaceKit.new
|
92
|
+
assert_nothing_raised {ik.on_sensor_change {puts 'hello'}}
|
191
93
|
end
|
192
94
|
end
|
95
|
+
|
193
96
|
end
|
97
|
+
|
data/test/test_ir.rb
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper.rb'
|
2
|
+
|
3
|
+
class TestPhidgetsIR < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def test_create
|
6
|
+
assert_nothing_raised {Phidgets::IR.new}
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_transmit
|
10
|
+
ir = Phidgets::IR.new
|
11
|
+
assert_raise(Phidgets::Error::NotImplemented) {ir.transmit(:data, :info)}
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_transmit_repeat
|
15
|
+
ir = Phidgets::IR.new
|
16
|
+
assert_raise(Phidgets::Error::NotAttached) {ir.transmit_repeat}
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_transmit_raw
|
20
|
+
ir = Phidgets::IR.new
|
21
|
+
assert_raise(Phidgets::Error::NotAttached) {ir.transmit_raw([1,2,3], 33000, 50, 100)}
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_get_raw_data
|
25
|
+
ir = Phidgets::IR.new
|
26
|
+
assert_raise(Phidgets::Error::NotAttached) {ir.raw_data 100}
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_get_last_code
|
30
|
+
ir = Phidgets::IR.new
|
31
|
+
assert_raise(Phidgets::Error::NotImplemented) {ir.last_code}
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_get_last_learned_code
|
35
|
+
ir = Phidgets::IR.new
|
36
|
+
assert_raise(Phidgets::Error::NotImplemented) {ir.last_learned_code}
|
37
|
+
end
|
38
|
+
|
39
|
+
unless RUBY_VERSION < '1.9.0'
|
40
|
+
def test_set_on_code
|
41
|
+
ir = Phidgets::IR.new
|
42
|
+
assert_nothing_raised {ir.on_code {puts 'hello'}}
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_set_on_learn
|
46
|
+
ir = Phidgets::IR.new
|
47
|
+
assert_nothing_raised {ir.on_learn {puts 'hello'}}
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_set_on_raw_data
|
51
|
+
ir = Phidgets::IR.new
|
52
|
+
assert_nothing_raised {ir.on_raw_data {puts 'hello'}}
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
|
data/test/test_led.rb
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper.rb'
|
2
|
+
|
3
|
+
class TestPhidgetsLED < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def test_create
|
6
|
+
assert_nothing_raised {Phidgets::LED.new}
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_get_led_count
|
10
|
+
led = Phidgets::LED.new
|
11
|
+
assert_raise(Phidgets::Error::NotAttached) {led.led_count}
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_get_current_limit
|
15
|
+
led = Phidgets::LED.new
|
16
|
+
assert_raise(Phidgets::Error::NotAttached) {led.current_limit}
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_set_current_limit
|
20
|
+
led = Phidgets::LED.new
|
21
|
+
assert_raise(Phidgets::Error::NotAttached) {led.current_limit = Phidgets::LED::CURRENT_LIMIT_40mA}
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_get_voltage
|
25
|
+
led = Phidgets::LED.new
|
26
|
+
assert_raise(Phidgets::Error::NotAttached) {led.voltage}
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_set_voltage
|
30
|
+
led = Phidgets::LED.new
|
31
|
+
assert_raise(Phidgets::Error::NotAttached) {led.voltage = Phidgets::LED::VOLTAGE_5_0V}
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_get_brightness
|
35
|
+
led = Phidgets::LED.new
|
36
|
+
assert_raise(Phidgets::Error::NotAttached) {led.brightness 1}
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_set_brightness
|
40
|
+
led = Phidgets::LED.new
|
41
|
+
assert_raise(Phidgets::Error::NotAttached) {led.set_brightness 1, 100.0}
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_get_current_limit_indexed
|
45
|
+
led = Phidgets::LED.new
|
46
|
+
assert_raise(Phidgets::Error::NotAttached) {led.current_limit_indexed 1}
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_set_current_limit_indexed
|
50
|
+
led = Phidgets::LED.new
|
51
|
+
assert_raise(Phidgets::Error::NotAttached) {led.set_current_limit_indexed 1, 50.0}
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
|
@@ -0,0 +1,94 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper.rb'
|
2
|
+
|
3
|
+
class TestPhidgetsManager < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def test_open
|
6
|
+
manager = Phidgets::Manager.new
|
7
|
+
assert_nothing_raised {manager.open}
|
8
|
+
manager.close
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_open_with_hash_1
|
12
|
+
manager = Phidgets::Manager.new
|
13
|
+
assert_nothing_raised {manager.open :server_id => 'localhost', :password => ''}
|
14
|
+
manager.close
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_open_with_hash_2
|
18
|
+
manager = Phidgets::Manager.new
|
19
|
+
assert_nothing_raised {manager.open :address => 'localhost', :port => 25000, :password => ''}
|
20
|
+
manager.close
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_open_remote
|
24
|
+
manager = Phidgets::Manager.new
|
25
|
+
assert_nothing_raised {manager.open_remote 'localhost', 'password'}
|
26
|
+
manager.close
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_open_remote_ip
|
30
|
+
manager = Phidgets::Manager.new
|
31
|
+
assert_nothing_raised {manager.open_remote_ip 'localhost', 25000, 'password'}
|
32
|
+
manager.close
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_close
|
36
|
+
manager = Phidgets::Manager.new
|
37
|
+
manager.open
|
38
|
+
assert_nothing_raised {manager.close}
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_get_server_id
|
42
|
+
manager = Phidgets::Manager.new
|
43
|
+
manager.open_remote 'localhost', 'password'
|
44
|
+
assert_equal('localhost', manager.server_id)
|
45
|
+
manager.close
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_get_server_address
|
49
|
+
manager = Phidgets::Manager.new
|
50
|
+
manager.open_remote_ip 'localhost', 25000, 'password'
|
51
|
+
assert_equal(['localhost',25000], manager.server_address)
|
52
|
+
manager.close
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_get_server_status
|
56
|
+
manager = Phidgets::Manager.new
|
57
|
+
manager.open_remote 'localhost', 'password'
|
58
|
+
assert_equal(Phidgets::NOTATTACHED, manager.server_status)
|
59
|
+
manager.close
|
60
|
+
end
|
61
|
+
|
62
|
+
def test_get_attached_devices
|
63
|
+
manager = Phidgets::Manager.new
|
64
|
+
assert_nothing_raised do
|
65
|
+
devices = manager.attached_devices
|
66
|
+
assert_equal(0, devices.count)
|
67
|
+
end
|
68
|
+
manager.close
|
69
|
+
end
|
70
|
+
|
71
|
+
unless RUBY_VERSION < '1.9.0'
|
72
|
+
def test_set_on_attach
|
73
|
+
manager = Phidgets::Manager.new
|
74
|
+
assert_nothing_raised {manager.on_attach {puts 'hello'}}
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_set_on_detach
|
78
|
+
manager = Phidgets::Manager.new
|
79
|
+
assert_nothing_raised {manager.on_detach {puts 'goodbye'}}
|
80
|
+
end
|
81
|
+
|
82
|
+
def test_set_on_server_connect
|
83
|
+
manager = Phidgets::Manager.new
|
84
|
+
assert_nothing_raised {manager.on_server_connect {puts 'hello'}}
|
85
|
+
end
|
86
|
+
|
87
|
+
def test_set_on_server_disconnect
|
88
|
+
manager = Phidgets::Manager.new
|
89
|
+
assert_nothing_raised {manager.on_server_disconnect {puts 'goodbye'}}
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
end
|
94
|
+
|