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.
Files changed (88) hide show
  1. data/History.txt +10 -2
  2. data/README.rdoc +41 -18
  3. data/Rakefile +31 -20
  4. data/bin/phidget +29 -44
  5. data/ext/phidgets/extconf.rb +14 -0
  6. data/ext/phidgets/phidgets.c +272 -0
  7. data/ext/phidgets/phidgets.h +82 -0
  8. data/ext/phidgets/phidgets_accelerometer.c +165 -0
  9. data/ext/phidgets/phidgets_advanced_servo.c +567 -0
  10. data/ext/phidgets/phidgets_analog.c +139 -0
  11. data/ext/phidgets/phidgets_bridge.c +263 -0
  12. data/ext/phidgets/phidgets_common.c +454 -0
  13. data/ext/phidgets/phidgets_dictionary.c +279 -0
  14. data/ext/phidgets/phidgets_encoder.c +249 -0
  15. data/ext/phidgets/phidgets_frequency_counter.c +241 -0
  16. data/ext/phidgets/phidgets_gps.c +235 -0
  17. data/ext/phidgets/phidgets_interface_kit.c +340 -0
  18. data/ext/phidgets/phidgets_ir.c +251 -0
  19. data/ext/phidgets/phidgets_led.c +178 -0
  20. data/ext/phidgets/phidgets_manager.c +366 -0
  21. data/ext/phidgets/phidgets_motor_control.c +642 -0
  22. data/ext/phidgets/phidgets_phsensor.c +208 -0
  23. data/ext/phidgets/phidgets_rfid.c +281 -0
  24. data/ext/phidgets/phidgets_servo.c +276 -0
  25. data/ext/phidgets/phidgets_spatial.c +369 -0
  26. data/ext/phidgets/phidgets_stepper.c +560 -0
  27. data/ext/phidgets/phidgets_temp_sensor.c +295 -0
  28. data/ext/phidgets/phidgets_text_lcd.c +381 -0
  29. data/ext/phidgets/phidgets_text_led.c +107 -0
  30. data/ext/phidgets/phidgets_weight_sensor.c +113 -0
  31. data/lib/phidgets/accelerometer.rb +25 -0
  32. data/lib/phidgets/advanced_servo.rb +49 -0
  33. data/lib/phidgets/analog.rb +8 -0
  34. data/lib/phidgets/bridge.rb +25 -0
  35. data/lib/phidgets/common.rb +75 -190
  36. data/lib/phidgets/dictionary.rb +53 -0
  37. data/lib/phidgets/encoder.rb +49 -0
  38. data/lib/phidgets/frequency_counter.rb +25 -0
  39. data/lib/phidgets/gps.rb +37 -0
  40. data/lib/phidgets/interfacekit.rb +38 -128
  41. data/lib/phidgets/ir.rb +50 -0
  42. data/lib/phidgets/led.rb +8 -0
  43. data/lib/phidgets/manager.rb +67 -119
  44. data/lib/phidgets/motor_control.rb +110 -0
  45. data/lib/phidgets/ph_sensor.rb +25 -0
  46. data/lib/phidgets/rfid.rb +38 -111
  47. data/lib/phidgets/servo.rb +12 -95
  48. data/lib/phidgets/spatial.rb +25 -0
  49. data/lib/phidgets/stepper.rb +61 -0
  50. data/lib/phidgets/temperature_sensor.rb +25 -0
  51. data/lib/phidgets/text_lcd.rb +8 -0
  52. data/lib/phidgets/text_led.rb +8 -0
  53. data/lib/phidgets/weight_sensor.rb +25 -0
  54. data/lib/phidgets.rb +22 -3
  55. data/phidgets.gemspec +42 -0
  56. data/test/test_accelerometer.rb +47 -0
  57. data/test/test_advanced_servo.rb +152 -0
  58. data/test/test_analog.rb +45 -0
  59. data/test/test_bridge.rb +77 -0
  60. data/test/test_common.rb +167 -0
  61. data/test/test_dictionary.rb +82 -0
  62. data/test/test_encoder.rb +67 -0
  63. data/test/test_frequency_counter.rb +67 -0
  64. data/test/test_gps.rb +67 -0
  65. data/test/test_helper.rb +1 -0
  66. data/test/test_interfacekit.rb +86 -182
  67. data/test/test_ir.rb +57 -0
  68. data/test/test_led.rb +55 -0
  69. data/test/test_manager.rb +94 -0
  70. data/test/test_motor_control.rb +172 -0
  71. data/test/test_phidgets.rb +14 -6
  72. data/test/test_phsensor.rb +62 -0
  73. data/test/test_rfid.rb +77 -0
  74. data/test/test_servo.rb +67 -0
  75. data/test/test_spatial.rb +112 -0
  76. data/test/test_stepper.rb +163 -0
  77. data/test/test_temp_sensor.rb +87 -0
  78. data/test/test_text_lcd.rb +115 -0
  79. data/test/test_text_led.rb +35 -0
  80. data/test/test_weight_sensor.rb +32 -0
  81. metadata +165 -75
  82. data/Manifest.txt +0 -21
  83. data/PostInstall.txt +0 -3
  84. data/README.txt +0 -87
  85. data/lib/phidgets/phidgets.rb +0 -225
  86. data/script/console +0 -10
  87. data/script/destroy +0 -14
  88. data/script/generate +0 -14
@@ -0,0 +1,152 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestPhidgetsAdvancedServo < Test::Unit::TestCase
4
+
5
+ def test_create
6
+ assert_nothing_raised {Phidgets::AdvancedServo.new}
7
+ end
8
+
9
+ def test_get_motor_count
10
+ servo = Phidgets::AdvancedServo.new
11
+ assert_raise(Phidgets::Error::NotAttached) {servo.motor_count}
12
+ end
13
+
14
+ def test_get_acceleration
15
+ servo = Phidgets::AdvancedServo.new
16
+ assert_raise(Phidgets::Error::NotAttached) {servo.acceleration 1}
17
+ end
18
+
19
+ def test_get_acceleration_min
20
+ servo = Phidgets::AdvancedServo.new
21
+ assert_raise(Phidgets::Error::NotAttached) {servo.acceleration_min 1}
22
+ end
23
+
24
+ def test_get_acceleration_max
25
+ servo = Phidgets::AdvancedServo.new
26
+ assert_raise(Phidgets::Error::NotAttached) {servo.acceleration_max 1}
27
+ end
28
+
29
+ def test_set_acceleration
30
+ servo = Phidgets::AdvancedServo.new
31
+ assert_raise(Phidgets::Error::NotAttached) {servo.set_acceleration 1, 2.14}
32
+ end
33
+
34
+ def test_get_velocity
35
+ servo = Phidgets::AdvancedServo.new
36
+ assert_raise(Phidgets::Error::NotAttached) {servo.velocity 1}
37
+ end
38
+
39
+ def test_get_velocity_min
40
+ servo = Phidgets::AdvancedServo.new
41
+ assert_raise(Phidgets::Error::NotAttached) {servo.velocity_min 1}
42
+ end
43
+
44
+ def test_get_velocity_max
45
+ servo = Phidgets::AdvancedServo.new
46
+ assert_raise(Phidgets::Error::NotAttached) {servo.velocity_max 1}
47
+ end
48
+
49
+ def test_get_velocity_limit
50
+ servo = Phidgets::AdvancedServo.new
51
+ assert_raise(Phidgets::Error::NotAttached) {servo.velocity_limit 1}
52
+ end
53
+
54
+ def test_set_velocity_limit
55
+ servo = Phidgets::AdvancedServo.new
56
+ assert_raise(Phidgets::Error::NotAttached) {servo.set_velocity_limit 1, 2.14}
57
+ end
58
+
59
+ def test_get_position
60
+ servo = Phidgets::AdvancedServo.new
61
+ assert_raise(Phidgets::Error::NotAttached) {servo.position 1}
62
+ end
63
+
64
+ def test_get_position_min
65
+ servo = Phidgets::AdvancedServo.new
66
+ assert_raise(Phidgets::Error::NotAttached) {servo.position_min 1}
67
+ end
68
+
69
+ def test_get_position_max
70
+ servo = Phidgets::AdvancedServo.new
71
+ assert_raise(Phidgets::Error::NotAttached) {servo.position_max 1}
72
+ end
73
+
74
+ def test_set_position
75
+ servo = Phidgets::AdvancedServo.new
76
+ assert_raise(Phidgets::Error::NotAttached) {servo.set_position 1, 2.14}
77
+ end
78
+
79
+ def test_set_position_min
80
+ servo = Phidgets::AdvancedServo.new
81
+ assert_raise(Phidgets::Error::NotAttached) {servo.set_position_min 1, 2.14}
82
+ end
83
+
84
+ def test_set_position_max
85
+ servo = Phidgets::AdvancedServo.new
86
+ assert_raise(Phidgets::Error::NotAttached) {servo.set_position_max 1, 2.14}
87
+ end
88
+
89
+ def test_get_current
90
+ servo = Phidgets::AdvancedServo.new
91
+ assert_raise(Phidgets::Error::NotAttached) {servo.current 1}
92
+ end
93
+
94
+ def test_get_speed_ramping_on
95
+ servo = Phidgets::AdvancedServo.new
96
+ assert_raise(Phidgets::Error::NotAttached) {servo.speed_ramping_on? 1}
97
+ end
98
+
99
+ def test_set_speed_ramping_on
100
+ servo = Phidgets::AdvancedServo.new
101
+ assert_raise(Phidgets::Error::NotAttached) {servo.set_speed_ramping_on 1, true}
102
+ end
103
+
104
+ def test_get_engaged
105
+ servo = Phidgets::AdvancedServo.new
106
+ assert_raise(Phidgets::Error::NotAttached) {servo.engaged? 1}
107
+ end
108
+
109
+ def test_set_engaged
110
+ servo = Phidgets::AdvancedServo.new
111
+ assert_raise(Phidgets::Error::NotAttached) {servo.set_engaged 1, true}
112
+ end
113
+
114
+ def test_get_stopped
115
+ servo = Phidgets::AdvancedServo.new
116
+ assert_raise(Phidgets::Error::NotAttached) {servo.stopped? 1}
117
+ end
118
+
119
+ def test_get_servo_type
120
+ servo = Phidgets::AdvancedServo.new
121
+ assert_raise(Phidgets::Error::NotAttached) {servo.servo_type 1}
122
+ end
123
+
124
+ def test_set_servo_type
125
+ servo = Phidgets::AdvancedServo.new
126
+ assert_raise(Phidgets::Error::NotAttached) {servo.set_servo_type 1, Phidgets::AdvancedServo::TOWERPRO_MG90}
127
+ end
128
+
129
+ def test_set_servo_parameters
130
+ servo = Phidgets::AdvancedServo.new
131
+ assert_raise(Phidgets::Error::NotAttached) {servo.set_servo_parameters 1, 0.1, 1.5, 98.5, 5.5}
132
+ end
133
+
134
+ unless RUBY_VERSION < '1.9.0'
135
+ def test_set_on_velocity_change
136
+ servo = Phidgets::AdvancedServo.new
137
+ assert_nothing_raised {servo.on_velocity_change {puts 'hello'}}
138
+ end
139
+
140
+ def test_set_on_position_change
141
+ servo = Phidgets::AdvancedServo.new
142
+ assert_nothing_raised {servo.on_position_change {puts 'hello'}}
143
+ end
144
+
145
+ def test_set_on_current_change
146
+ servo = Phidgets::AdvancedServo.new
147
+ assert_nothing_raised {servo.on_current_change {puts 'hello'}}
148
+ end
149
+ end
150
+
151
+ end
152
+
@@ -0,0 +1,45 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestPhidgetsAnalog < Test::Unit::TestCase
4
+
5
+ def test_create
6
+ assert_nothing_raised {Phidgets::Analog.new}
7
+ end
8
+
9
+ def test_get_output_count
10
+ analog = Phidgets::Analog.new
11
+ assert_raise(Phidgets::Error::NotAttached) {analog.output_count}
12
+ end
13
+
14
+ def test_get_voltage
15
+ analog = Phidgets::Analog.new
16
+ assert_raise(Phidgets::Error::NotAttached) {analog.voltage 1}
17
+ end
18
+
19
+ def test_get_voltage_min
20
+ analog = Phidgets::Analog.new
21
+ assert_raise(Phidgets::Error::NotAttached) {analog.voltage_min 1}
22
+ end
23
+
24
+ def test_get_voltage_max
25
+ analog = Phidgets::Analog.new
26
+ assert_raise(Phidgets::Error::NotAttached) {analog.voltage_max 1}
27
+ end
28
+
29
+ def test_set_voltage
30
+ analog = Phidgets::Analog.new
31
+ assert_raise(Phidgets::Error::NotAttached) {analog.set_voltage 1, 3.3}
32
+ end
33
+
34
+ def test_get_enabled
35
+ analog = Phidgets::Analog.new
36
+ assert_raise(Phidgets::Error::NotAttached) {analog.enabled? 1}
37
+ end
38
+
39
+ def test_set_enabled
40
+ analog = Phidgets::Analog.new
41
+ assert_raise(Phidgets::Error::NotAttached) {analog.set_enabled 1, true}
42
+ end
43
+
44
+ end
45
+
@@ -0,0 +1,77 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestPhidgetsBridge < Test::Unit::TestCase
4
+
5
+ def test_create
6
+ assert_nothing_raised {Phidgets::Bridge.new}
7
+ end
8
+
9
+ def test_get_input_count
10
+ bridge = Phidgets::Bridge.new
11
+ assert_raise(Phidgets::Error::NotAttached) {bridge.input_count}
12
+ end
13
+
14
+ def test_get_bridge_value
15
+ bridge = Phidgets::Bridge.new
16
+ assert_raise(Phidgets::Error::NotAttached) {bridge.bridge_value 1}
17
+ end
18
+
19
+ def test_get_bridge_min
20
+ bridge = Phidgets::Bridge.new
21
+ assert_raise(Phidgets::Error::NotAttached) {bridge.bridge_min 1}
22
+ end
23
+
24
+ def test_get_bridge_max
25
+ bridge = Phidgets::Bridge.new
26
+ assert_raise(Phidgets::Error::NotAttached) {bridge.bridge_max 1}
27
+ end
28
+
29
+ def test_get_enabled
30
+ bridge = Phidgets::Bridge.new
31
+ assert_raise(Phidgets::Error::NotAttached) {bridge.enabled? 1}
32
+ end
33
+
34
+ def test_set_enabled
35
+ bridge = Phidgets::Bridge.new
36
+ assert_raise(Phidgets::Error::NotAttached) {bridge.set_enabled 1, true}
37
+ end
38
+
39
+ def test_get_gain
40
+ bridge = Phidgets::Bridge.new
41
+ assert_raise(Phidgets::Error::NotAttached) {bridge.gain 1}
42
+ end
43
+
44
+ def test_set_gain
45
+ bridge = Phidgets::Bridge.new
46
+ assert_raise(Phidgets::Error::NotAttached) {bridge.set_gain 1, Phidgets::Bridge::GAIN_8}
47
+ end
48
+
49
+ def test_get_data_rate
50
+ bridge = Phidgets::Bridge.new
51
+ assert_raise(Phidgets::Error::NotAttached) {bridge.data_rate}
52
+ end
53
+
54
+ def test_get_data_rate_min
55
+ bridge = Phidgets::Bridge.new
56
+ assert_raise(Phidgets::Error::NotAttached) {bridge.data_rate_min}
57
+ end
58
+
59
+ def test_get_data_rate_max
60
+ bridge = Phidgets::Bridge.new
61
+ assert_raise(Phidgets::Error::NotAttached) {bridge.data_rate_max}
62
+ end
63
+
64
+ def test_set_data_rate
65
+ bridge = Phidgets::Bridge.new
66
+ assert_raise(Phidgets::Error::NotAttached) {bridge.data_rate = 200}
67
+ end
68
+
69
+ unless RUBY_VERSION < '1.9.0'
70
+ def test_set_on_bridge_data
71
+ bridge = Phidgets::Bridge.new
72
+ assert_nothing_raised {bridge.on_bridge_data {puts 'hello'}}
73
+ end
74
+ end
75
+
76
+ end
77
+
@@ -0,0 +1,167 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestPhidgetsCommon < Test::Unit::TestCase
4
+
5
+ def test_open
6
+ ik = Phidgets::InterfaceKit.new
7
+ assert_nothing_raised {ik.open 12345}
8
+ ik.close
9
+ end
10
+
11
+ def test_open_with_hash_1
12
+ ik = Phidgets::InterfaceKit.new
13
+ assert_nothing_raised {ik.open :serial_number => 12345}
14
+ ik.close
15
+ end
16
+
17
+ def test_open_with_hash_2
18
+ ik = Phidgets::InterfaceKit.new
19
+ assert_nothing_raised {ik.open :label => 'test', :server_id => 'localhost', :password => ''}
20
+ ik.close
21
+ end
22
+
23
+ def test_open_with_hash_3
24
+ ik = Phidgets::InterfaceKit.new
25
+ assert_nothing_raised {ik.open :label => 'test', :address => 'localhost', :port => 25000, :password => ''}
26
+ ik.close
27
+ end
28
+
29
+ def test_open_with_hash_4
30
+ ik = Phidgets::InterfaceKit.new
31
+ assert_raise(Phidgets::Error::InvalidArg) {ik.open :address => 'localhost', :port => 25000, :password => ''}
32
+ ik.close
33
+ end
34
+
35
+ def test_open_label
36
+ ik = Phidgets::InterfaceKit.new
37
+ assert_nothing_raised {ik.open_label 'test'}
38
+ ik.close
39
+ end
40
+
41
+ def test_open_remote
42
+ ik = Phidgets::InterfaceKit.new
43
+ assert_nothing_raised {ik.open_remote 12345, 'localhost', 'password'}
44
+ ik.close
45
+ end
46
+
47
+ def test_open_label_remote
48
+ ik = Phidgets::InterfaceKit.new
49
+ assert_nothing_raised {ik.open_label_remote 'test', 'localhost', 'password'}
50
+ ik.close
51
+ end
52
+
53
+ def test_open_remote_ip
54
+ ik = Phidgets::InterfaceKit.new
55
+ assert_nothing_raised {ik.open_remote_ip 12345, 'localhost', 25000, 'password'}
56
+ ik.close
57
+ end
58
+
59
+ def test_open_label_remote_ip
60
+ ik = Phidgets::InterfaceKit.new
61
+ assert_nothing_raised {ik.open_label_remote_ip 'test', 'localhost', 25000, 'password'}
62
+ ik.close
63
+ end
64
+
65
+ def test_wait_for_attachment
66
+ ik = Phidgets::InterfaceKit.new
67
+ ik.open 12345
68
+ assert_raise(Phidgets::Error::Timeout) {ik.wait_for_attachment 1}
69
+ ik.close
70
+ end
71
+
72
+ def test_close
73
+ ik = Phidgets::InterfaceKit.new
74
+ ik.open 12345
75
+ assert_nothing_raised {ik.close}
76
+ end
77
+
78
+ def test_get_serial_number
79
+ ik = Phidgets::InterfaceKit.new
80
+ assert_raise(Phidgets::Error::NotAttached) {ik.serial_number}
81
+ end
82
+
83
+ def test_get_device_class
84
+ ik = Phidgets::InterfaceKit.new
85
+ assert_raise(Phidgets::Error::NotAttached) {ik.device_class}
86
+ end
87
+
88
+ def test_get_device_id
89
+ ik = Phidgets::InterfaceKit.new
90
+ assert_raise(Phidgets::Error::NotAttached) {ik.device_id}
91
+ end
92
+
93
+ def test_get_device_type
94
+ ik = Phidgets::InterfaceKit.new
95
+ assert_raise(Phidgets::Error::NotAttached) {ik.device_type}
96
+ end
97
+
98
+ def test_get_device_name
99
+ ik = Phidgets::InterfaceKit.new
100
+ assert_raise(Phidgets::Error::NotAttached) {ik.device_name}
101
+ end
102
+
103
+ def test_get_device_version
104
+ ik = Phidgets::InterfaceKit.new
105
+ assert_raise(Phidgets::Error::NotAttached) {ik.device_version}
106
+ end
107
+
108
+ def test_get_device_status
109
+ ik = Phidgets::InterfaceKit.new
110
+ assert_equal(Phidgets::NOTATTACHED, ik.device_status)
111
+ end
112
+
113
+ def test_get_device_label
114
+ ik = Phidgets::InterfaceKit.new
115
+ assert_raise(Phidgets::Error::NotAttached) {ik.device_label}
116
+ end
117
+
118
+ def test_set_device_label
119
+ ik = Phidgets::InterfaceKit.new
120
+ assert_raise(Phidgets::Error::NotAttached) {ik.device_label = 'test'}
121
+ end
122
+
123
+ def test_get_server_id
124
+ ik = Phidgets::InterfaceKit.new
125
+ ik.open_remote 12345, 'localhost', 'password'
126
+ assert_equal('localhost', ik.server_id)
127
+ ik.close
128
+ end
129
+
130
+ def test_get_server_address
131
+ ik = Phidgets::InterfaceKit.new
132
+ ik.open_remote_ip 12345, 'localhost', 25000, 'password'
133
+ assert_equal(['localhost',25000], ik.server_address)
134
+ ik.close
135
+ end
136
+
137
+ def test_get_server_status
138
+ ik = Phidgets::InterfaceKit.new
139
+ ik.open_remote 12345, 'localhost', 'password'
140
+ assert_equal(Phidgets::NOTATTACHED, ik.server_status)
141
+ ik.close
142
+ end
143
+
144
+ unless RUBY_VERSION < '1.9.0'
145
+ def test_set_on_attach
146
+ ik = Phidgets::InterfaceKit.new
147
+ assert_nothing_raised {ik.on_attach {puts 'hello'}}
148
+ end
149
+
150
+ def test_set_on_detach
151
+ ik = Phidgets::InterfaceKit.new
152
+ assert_nothing_raised {ik.on_detach {puts 'goodbye'}}
153
+ end
154
+
155
+ def test_set_on_server_connect
156
+ ik = Phidgets::InterfaceKit.new
157
+ assert_nothing_raised {ik.on_server_connect {puts 'hello'}}
158
+ end
159
+
160
+ def test_set_on_server_disconnect
161
+ ik = Phidgets::InterfaceKit.new
162
+ assert_nothing_raised {ik.on_server_disconnect {puts 'goodbye'}}
163
+ end
164
+ end
165
+
166
+ end
167
+
@@ -0,0 +1,82 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestPhidgetsDictionary < Test::Unit::TestCase
4
+
5
+ def test_create
6
+ assert_nothing_raised {Phidgets::Dictionary.new}
7
+ end
8
+
9
+ def test_open_with_hash_1
10
+ dict = Phidgets::Dictionary.new
11
+ assert_nothing_raised {dict.open :server_id => 'localhost', :password => 'password'}
12
+ dict.close
13
+ end
14
+
15
+ def test_open_with_hash_2
16
+ dict = Phidgets::Dictionary.new
17
+ assert_nothing_raised {dict.open :address => 'localhost', :port => 25000, :password => 'password'}
18
+ dict.close
19
+ end
20
+
21
+ def test_open_with_hash_3
22
+ dict = Phidgets::Dictionary.new
23
+ assert_raise(Phidgets::Error::InvalidArg) {dict.open({})}
24
+ dict.close
25
+ end
26
+
27
+ def test_open_remote
28
+ dict = Phidgets::Dictionary.new
29
+ assert_nothing_raised {dict.open_remote 'localhost', 'password'}
30
+ dict.close
31
+ end
32
+
33
+ def test_open_remote_ip
34
+ dict = Phidgets::Dictionary.new
35
+ assert_nothing_raised {dict.open_remote_ip 'localhost', 25000, 'password'}
36
+ dict.close
37
+ end
38
+
39
+ def test_close
40
+ dict = Phidgets::Dictionary.new
41
+ dict.open_remote 'localhost', 'password'
42
+ assert_nothing_raised {dict.close}
43
+ end
44
+
45
+ def test_get_key
46
+ dict = Phidgets::Dictionary.new
47
+ assert_raise(Phidgets::Error::NetworkNotConnected) {dict.get_key 'random_key'}
48
+ end
49
+
50
+ def test_add_key
51
+ dict = Phidgets::Dictionary.new
52
+ assert_raise(Phidgets::Error::NetworkNotConnected) {dict.add_key 'random_key', 'random_value', false}
53
+ end
54
+
55
+ def test_remove_key
56
+ dict = Phidgets::Dictionary.new
57
+ assert_raise(Phidgets::Error::NetworkNotConnected) {dict.remove_key 'random_key'}
58
+ end
59
+
60
+ def test_get_server_id
61
+ dict = Phidgets::Dictionary.new
62
+ dict.open_remote 'localhost', 'password'
63
+ assert_equal('localhost', dict.server_id)
64
+ dict.close
65
+ end
66
+
67
+ def test_get_server_address
68
+ dict = Phidgets::Dictionary.new
69
+ dict.open_remote_ip 'localhost', 25000, 'password'
70
+ assert_equal(['localhost',25000], dict.server_address)
71
+ dict.close
72
+ end
73
+
74
+ def test_get_server_status
75
+ dict = Phidgets::Dictionary.new
76
+ dict.open_remote 'localhost', 'password'
77
+ assert_equal(Phidgets::NOTATTACHED, dict.server_status)
78
+ dict.close
79
+ end
80
+
81
+ end
82
+
@@ -0,0 +1,67 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestPhidgetsEncoder < Test::Unit::TestCase
4
+
5
+ def test_create
6
+ assert_nothing_raised {Phidgets::Encoder.new}
7
+ end
8
+
9
+ def test_get_input_count
10
+ encoder = Phidgets::Encoder.new
11
+ assert_raise(Phidgets::Error::NotAttached) {encoder.input_count}
12
+ end
13
+
14
+ def test_get_input_state
15
+ encoder = Phidgets::Encoder.new
16
+ assert_raise(Phidgets::Error::NotAttached) {encoder.input_state 1}
17
+ end
18
+
19
+ def test_get_encoder_count
20
+ encoder = Phidgets::Encoder.new
21
+ assert_raise(Phidgets::Error::NotAttached) {encoder.encoder_count}
22
+ end
23
+
24
+ def test_get_position
25
+ encoder = Phidgets::Encoder.new
26
+ assert_raise(Phidgets::Error::NotAttached) {encoder.position 1}
27
+ end
28
+
29
+ def test_set_position
30
+ encoder = Phidgets::Encoder.new
31
+ assert_raise(Phidgets::Error::NotAttached) {encoder.set_position 1, 1500}
32
+ end
33
+
34
+ def test_get_index_position
35
+ encoder = Phidgets::Encoder.new
36
+ assert_raise(Phidgets::Error::NotAttached) {encoder.index_position 1}
37
+ end
38
+
39
+ def test_get_enabled
40
+ encoder = Phidgets::Encoder.new
41
+ assert_raise(Phidgets::Error::NotAttached) {encoder.enabled? 1}
42
+ end
43
+
44
+ def test_set_enabled
45
+ encoder = Phidgets::Encoder.new
46
+ assert_raise(Phidgets::Error::NotAttached) {encoder.set_enabled 1, true}
47
+ end
48
+
49
+ unless RUBY_VERSION < '1.9.0'
50
+ def test_set_on_input_change
51
+ encoder = Phidgets::Encoder.new
52
+ assert_nothing_raised {encoder.on_input_change {puts 'hello'}}
53
+ end
54
+
55
+ def test_set_on_position_change
56
+ encoder = Phidgets::Encoder.new
57
+ assert_nothing_raised {encoder.on_position_change {puts 'hello'}}
58
+ end
59
+
60
+ def test_set_on_index
61
+ encoder = Phidgets::Encoder.new
62
+ assert_nothing_raised {encoder.on_index {puts 'hello'}}
63
+ end
64
+ end
65
+
66
+ end
67
+
@@ -0,0 +1,67 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestPhidgetsFrequencyCounter < Test::Unit::TestCase
4
+
5
+ def test_create
6
+ assert_nothing_raised {Phidgets::FrequencyCounter.new}
7
+ end
8
+
9
+ def test_get_frequency_input_count
10
+ freq = Phidgets::FrequencyCounter.new
11
+ assert_raise(Phidgets::Error::NotAttached) {freq.frequency_input_count}
12
+ end
13
+
14
+ def test_get_frequency
15
+ freq = Phidgets::FrequencyCounter.new
16
+ assert_raise(Phidgets::Error::NotAttached) {freq.frequency 1}
17
+ end
18
+
19
+ def test_get_total_time
20
+ freq = Phidgets::FrequencyCounter.new
21
+ assert_raise(Phidgets::Error::NotAttached) {freq.total_time 1}
22
+ end
23
+
24
+ def test_get_total_count
25
+ freq = Phidgets::FrequencyCounter.new
26
+ assert_raise(Phidgets::Error::NotAttached) {freq.total_count 1}
27
+ end
28
+
29
+ def test_timeout
30
+ freq = Phidgets::FrequencyCounter.new
31
+ assert_raise(Phidgets::Error::NotAttached) {freq.timeout 1}
32
+ end
33
+
34
+ def test_set_timeout
35
+ freq = Phidgets::FrequencyCounter.new
36
+ assert_raise(Phidgets::Error::NotAttached) {freq.set_timeout 1, 100}
37
+ end
38
+
39
+ def test_get_enabled
40
+ freq = Phidgets::FrequencyCounter.new
41
+ assert_raise(Phidgets::Error::NotAttached) {freq.enabled? 1}
42
+ end
43
+
44
+ def test_set_enabled
45
+ freq = Phidgets::FrequencyCounter.new
46
+ assert_raise(Phidgets::Error::NotAttached) {freq.set_enabled 1, true}
47
+ end
48
+
49
+ def test_get_filter
50
+ freq = Phidgets::FrequencyCounter.new
51
+ assert_raise(Phidgets::Error::NotAttached) {freq.filter 1}
52
+ end
53
+
54
+ def test_set_filter
55
+ freq = Phidgets::FrequencyCounter.new
56
+ assert_raise(Phidgets::Error::NotAttached) {freq.set_filter 1, Phidgets::FrequencyCounter::FILTERTYPE_ZERO_CROSSING}
57
+ end
58
+
59
+ unless RUBY_VERSION < '1.9.0'
60
+ def test_set_on_count
61
+ freq = Phidgets::FrequencyCounter.new
62
+ assert_nothing_raised {freq.on_count {puts 'hello'}}
63
+ end
64
+ end
65
+
66
+ end
67
+