phidgets 0.1.3 → 1.0.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 (146) hide show
  1. checksums.yaml +4 -4
  2. data/History.txt +3 -0
  3. data/README.rdoc +32 -43
  4. data/Rakefile +4 -2
  5. data/bin/phidget +18 -72
  6. data/ext/phidgets/extconf.rb +5 -8
  7. data/ext/phidgets/phidgets.c +708 -173
  8. data/ext/phidgets/phidgets.h +54 -35
  9. data/ext/phidgets/phidgets_accelerometer.c +193 -109
  10. data/ext/phidgets/phidgets_bldc_motor.c +529 -0
  11. data/ext/phidgets/phidgets_capacitive_touch.c +302 -0
  12. data/ext/phidgets/phidgets_common.c +570 -315
  13. data/ext/phidgets/phidgets_current_input.c +229 -0
  14. data/ext/phidgets/phidgets_dc_motor.c +562 -0
  15. data/ext/phidgets/phidgets_dictionary.c +154 -213
  16. data/ext/phidgets/phidgets_digital_input.c +127 -0
  17. data/ext/phidgets/phidgets_digital_output.c +288 -0
  18. data/ext/phidgets/phidgets_distance_sensor.c +295 -0
  19. data/ext/phidgets/phidgets_encoder.c +211 -192
  20. data/ext/phidgets/phidgets_frequency_counter.c +310 -177
  21. data/ext/phidgets/phidgets_gps.c +226 -164
  22. data/ext/phidgets/phidgets_gyroscope.c +195 -0
  23. data/ext/phidgets/phidgets_hub.c +39 -0
  24. data/ext/phidgets/phidgets_humidity_sensor.c +200 -0
  25. data/ext/phidgets/phidgets_ir.c +211 -171
  26. data/ext/phidgets/phidgets_lcd.c +512 -0
  27. data/ext/phidgets/phidgets_light_sensor.c +200 -0
  28. data/ext/phidgets/phidgets_log.c +263 -0
  29. data/ext/phidgets/phidgets_magnetometer.c +279 -0
  30. data/ext/phidgets/phidgets_manager.c +86 -297
  31. data/ext/phidgets/phidgets_motor_position_controller.c +787 -0
  32. data/ext/phidgets/phidgets_phsensor.c +200 -152
  33. data/ext/phidgets/phidgets_power_guard.c +144 -0
  34. data/ext/phidgets/phidgets_pressure_sensor.c +200 -0
  35. data/ext/phidgets/phidgets_rc_servo.c +672 -0
  36. data/ext/phidgets/phidgets_resistance_input.c +227 -0
  37. data/ext/phidgets/phidgets_rfid.c +107 -221
  38. data/ext/phidgets/phidgets_sound_sensor.c +284 -0
  39. data/ext/phidgets/phidgets_spatial.c +124 -318
  40. data/ext/phidgets/phidgets_stepper.c +457 -430
  41. data/ext/phidgets/phidgets_temp_sensor.c +223 -228
  42. data/ext/phidgets/phidgets_voltage_input.c +428 -0
  43. data/ext/phidgets/phidgets_voltage_output.c +167 -0
  44. data/ext/phidgets/phidgets_voltage_ratio_input.c +435 -0
  45. data/lib/phidgets.rb +21 -14
  46. data/lib/phidgets/accelerometer.rb +11 -15
  47. data/lib/phidgets/bldc_motor.rb +45 -0
  48. data/lib/phidgets/capacitive_touch.rb +33 -0
  49. data/lib/phidgets/common.rb +40 -69
  50. data/lib/phidgets/current_input.rb +21 -0
  51. data/lib/phidgets/dc_motor.rb +45 -0
  52. data/lib/phidgets/dictionary.rb +30 -39
  53. data/lib/phidgets/digital_input.rb +21 -0
  54. data/lib/phidgets/digital_output.rb +56 -0
  55. data/lib/phidgets/distance_sensor.rb +33 -0
  56. data/lib/phidgets/encoder.rb +1 -29
  57. data/lib/phidgets/frequency_counter.rb +23 -14
  58. data/lib/phidgets/gps.rb +34 -26
  59. data/lib/phidgets/gyroscope.rb +21 -0
  60. data/lib/phidgets/humidity_sensor.rb +21 -0
  61. data/lib/phidgets/ir.rb +34 -39
  62. data/lib/phidgets/light_sensor.rb +21 -0
  63. data/lib/phidgets/magnetometer.rb +21 -0
  64. data/lib/phidgets/manager.rb +18 -66
  65. data/lib/phidgets/motor_position_controller.rb +45 -0
  66. data/lib/phidgets/ph_sensor.rb +2 -6
  67. data/lib/phidgets/pressure_sensor.rb +21 -0
  68. data/lib/phidgets/rc_servo.rb +58 -0
  69. data/lib/phidgets/resistance_input.rb +21 -0
  70. data/lib/phidgets/rfid.rb +22 -38
  71. data/lib/phidgets/sound_sensor.rb +21 -0
  72. data/lib/phidgets/spatial.rb +11 -15
  73. data/lib/phidgets/stepper.rb +48 -50
  74. data/lib/phidgets/temperature_sensor.rb +11 -15
  75. data/lib/phidgets/version.rb +5 -0
  76. data/lib/phidgets/voltage_input.rb +34 -0
  77. data/lib/phidgets/voltage_output.rb +23 -0
  78. data/lib/phidgets/voltage_ratio_input.rb +34 -0
  79. data/phidgets.gemspec +3 -22
  80. data/test/test_accelerometer.rb +42 -23
  81. data/test/test_bldc_motor.rb +134 -0
  82. data/test/test_capacitive_touch.rb +82 -0
  83. data/test/test_common.rb +125 -108
  84. data/test/test_current_input.rb +62 -0
  85. data/test/test_dc_motor.rb +146 -0
  86. data/test/test_dictionary.rb +22 -54
  87. data/test/test_digital_input.rb +30 -0
  88. data/test/test_digital_output.rb +70 -0
  89. data/test/test_distance_sensor.rb +76 -0
  90. data/test/test_encoder.rb +45 -38
  91. data/test/test_frequency_counter.rb +71 -36
  92. data/test/test_gps.rb +29 -38
  93. data/test/test_gyroscope.rb +54 -0
  94. data/test/test_helper.rb +0 -1
  95. data/test/test_hub.rb +14 -0
  96. data/test/test_humidity_sensor.rb +58 -0
  97. data/test/test_ir.rb +34 -34
  98. data/test/test_lcd.rb +146 -0
  99. data/test/test_light_sensor.rb +58 -0
  100. data/test/test_magnetometer.rb +78 -0
  101. data/test/test_manager.rb +10 -79
  102. data/test/test_motor_control.rb +146 -108
  103. data/test/test_phidgets.rb +2 -14
  104. data/test/test_phsensor.rb +46 -34
  105. data/test/test_power_guard.rb +42 -0
  106. data/test/test_pressure_sensor.rb +58 -0
  107. data/test/test_rc_servo.rb +174 -0
  108. data/test/test_resistance_input.rb +66 -0
  109. data/test/test_rfid.rb +15 -54
  110. data/test/test_sound_sensor.rb +78 -0
  111. data/test/test_spatial.rb +19 -85
  112. data/test/test_stepper.rb +89 -98
  113. data/test/test_temp_sensor.rb +42 -47
  114. data/test/test_voltage_input.rb +102 -0
  115. data/test/test_voltage_output.rb +46 -0
  116. data/test/test_voltage_ratio_input.rb +102 -0
  117. metadata +72 -89
  118. data/ext/phidgets/phidgets_advanced_servo.c +0 -567
  119. data/ext/phidgets/phidgets_analog.c +0 -139
  120. data/ext/phidgets/phidgets_bridge.c +0 -263
  121. data/ext/phidgets/phidgets_interface_kit.c +0 -340
  122. data/ext/phidgets/phidgets_led.c +0 -178
  123. data/ext/phidgets/phidgets_motor_control.c +0 -642
  124. data/ext/phidgets/phidgets_servo.c +0 -276
  125. data/ext/phidgets/phidgets_text_lcd.c +0 -381
  126. data/ext/phidgets/phidgets_text_led.c +0 -107
  127. data/ext/phidgets/phidgets_weight_sensor.c +0 -113
  128. data/lib/phidgets/advanced_servo.rb +0 -49
  129. data/lib/phidgets/analog.rb +0 -8
  130. data/lib/phidgets/bridge.rb +0 -25
  131. data/lib/phidgets/interfacekit.rb +0 -49
  132. data/lib/phidgets/led.rb +0 -8
  133. data/lib/phidgets/motor_control.rb +0 -110
  134. data/lib/phidgets/servo.rb +0 -23
  135. data/lib/phidgets/text_lcd.rb +0 -8
  136. data/lib/phidgets/text_led.rb +0 -8
  137. data/lib/phidgets/weight_sensor.rb +0 -25
  138. data/test/test_advanced_servo.rb +0 -152
  139. data/test/test_analog.rb +0 -45
  140. data/test/test_bridge.rb +0 -77
  141. data/test/test_interfacekit.rb +0 -97
  142. data/test/test_led.rb +0 -55
  143. data/test/test_servo.rb +0 -67
  144. data/test/test_text_lcd.rb +0 -115
  145. data/test/test_text_led.rb +0 -35
  146. data/test/test_weight_sensor.rb +0 -32
@@ -2,80 +2,48 @@ require File.dirname(__FILE__) + '/test_helper.rb'
2
2
 
3
3
  class TestPhidgetsDictionary < Test::Unit::TestCase
4
4
 
5
- def test_create
6
- assert_nothing_raised {Phidgets::Dictionary.new}
5
+ def setup
6
+ @phidget = Phidgets::Dictionary.new
7
7
  end
8
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
9
+ def test_add
10
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.add('some_key', 'some_value')}
13
11
  end
14
12
 
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
13
+ def test_get
14
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.get('some_key')}
19
15
  end
20
16
 
21
- def test_open_with_hash_3
22
- dict = Phidgets::Dictionary.new
23
- assert_raise(Phidgets::Error::InvalidArg) {dict.open({})}
24
- dict.close
17
+ def test_remove
18
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.remove('some_key')}
25
19
  end
26
20
 
27
- def test_open_remote
28
- dict = Phidgets::Dictionary.new
29
- assert_nothing_raised {dict.open_remote 'localhost', 'password'}
30
- dict.close
21
+ def test_remove_all
22
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.remove_all}
31
23
  end
32
24
 
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
25
+ def test_scan
26
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.scan('some_key')}
37
27
  end
38
28
 
39
- def test_close
40
- dict = Phidgets::Dictionary.new
41
- dict.open_remote 'localhost', 'password'
42
- assert_nothing_raised {dict.close}
29
+ def test_set
30
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.set('some_key', 'some_value')}
43
31
  end
44
32
 
45
- def test_get_key
46
- dict = Phidgets::Dictionary.new
47
- assert_raise(Phidgets::Error::NetworkNotConnected) {dict.get_key 'random_key'}
33
+ def test_update
34
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.update('some_key', 'some_value')}
48
35
  end
49
36
 
50
- def test_add_key
51
- dict = Phidgets::Dictionary.new
52
- assert_raise(Phidgets::Error::NetworkNotConnected) {dict.add_key 'random_key', 'random_value', false}
37
+ def test_set_on_add
38
+ assert_nothing_raised {@phidget.on_add {puts 'key_added'}}
53
39
  end
54
40
 
55
- def test_remove_key
56
- dict = Phidgets::Dictionary.new
57
- assert_raise(Phidgets::Error::NetworkNotConnected) {dict.remove_key 'random_key'}
41
+ def test_set_on_remove
42
+ assert_nothing_raised {@phidget.on_remove {puts 'key_removed'}}
58
43
  end
59
44
 
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
45
+ def test_set_on_update
46
+ assert_nothing_raised {@phidget.on_update {puts 'key_updated'}}
79
47
  end
80
48
 
81
49
  end
@@ -0,0 +1,30 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestPhidgetsDigitalInput < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @phidget = Phidgets::DigitalInput.new
7
+ end
8
+
9
+ def test_get_input_mode
10
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.input_mode}
11
+ end
12
+
13
+ def test_set_input_mode
14
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.input_mode = Phidgets::INPUT_MODE_NPN}
15
+ end
16
+
17
+ def test_get_power_supply
18
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.power_supply}
19
+ end
20
+
21
+ def test_set_power_supply
22
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.power_supply = Phidgets::POWER_SUPPLY_12V}
23
+ end
24
+
25
+ def test_get_state
26
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.state}
27
+ end
28
+
29
+ end
30
+
@@ -0,0 +1,70 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestPhidgetsDigitalOutput < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @phidget = Phidgets::DigitalOutput.new
7
+ end
8
+
9
+ def test_get_duty_cycle
10
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.duty_cycle}
11
+ end
12
+
13
+ def test_set_duty_cycle
14
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.duty_cycle = 2.5}
15
+ end
16
+
17
+ def test_set_duty_cycle_async
18
+ assert_nothing_raised {@phidget.set_duty_cycle_async(2.5) {puts 'duty_cycle_set'}}
19
+ end
20
+
21
+ def test_get_min_duty_cycle
22
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_duty_cycle}
23
+ end
24
+
25
+ def test_get_max_duty_cycle
26
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_duty_cycle}
27
+ end
28
+
29
+ def test_get_led_current_limit
30
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.led_current_limit}
31
+ end
32
+
33
+ def test_set_led_current_limit
34
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.led_current_limit = 2.5}
35
+ end
36
+
37
+ def test_set_led_current_limit_async
38
+ assert_nothing_raised {@phidget.set_led_current_limit_async(2.5) {puts 'led_current_limit_set'}}
39
+ end
40
+
41
+ def test_get_min_led_current_limit
42
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_led_current_limit}
43
+ end
44
+
45
+ def test_get_max_led_current_limit
46
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_led_current_limit}
47
+ end
48
+
49
+ def test_get_led_forward_voltage
50
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.led_forward_voltage}
51
+ end
52
+
53
+ def test_set_led_forward_voltage
54
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.led_forward_voltage = Phidgets::DigitalOutput::LED_FORWARD_VOLTAGE_2_75V}
55
+ end
56
+
57
+ def test_get_state
58
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.state}
59
+ end
60
+
61
+ def test_set_state
62
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.state = true}
63
+ end
64
+
65
+ def test_set_state_async
66
+ assert_nothing_raised {@phidget.set_state_async(true) {puts 'state_set'}}
67
+ end
68
+
69
+ end
70
+
@@ -0,0 +1,76 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestPhidgetsDistanceSensor < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @phidget = Phidgets::DistanceSensor.new
7
+ end
8
+
9
+ def test_get_data_interval
10
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.data_interval}
11
+ end
12
+
13
+ def test_set_data_interval
14
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.data_interval = 2}
15
+ end
16
+
17
+ def test_get_min_data_interval
18
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_data_interval}
19
+ end
20
+
21
+ def test_get_max_data_interval
22
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_data_interval}
23
+ end
24
+
25
+ def test_get_distance
26
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.distance}
27
+ end
28
+
29
+ def test_get_min_distance
30
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_distance}
31
+ end
32
+
33
+ def test_get_max_distance
34
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_distance}
35
+ end
36
+
37
+ def test_get_distance_change_trigger
38
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.distance_change_trigger}
39
+ end
40
+
41
+ def test_set_distance_change_trigger
42
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.distance_change_trigger = 2.5}
43
+ end
44
+
45
+ def test_get_min_distance_change_trigger
46
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_distance_change_trigger}
47
+ end
48
+
49
+ def test_get_max_distance_change_trigger
50
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_distance_change_trigger}
51
+ end
52
+
53
+ def test_get_sonar_quiet_mode
54
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.sonar_quiet_mode}
55
+ end
56
+
57
+ def test_set_sonar_quiet_mode
58
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.sonar_quiet_mode = true}
59
+ end
60
+
61
+ def test_get_sonar_reflections
62
+ reflections = @phidget.sonar_reflections
63
+ assert_equal([], reflections['distances'])
64
+ assert_equal([], reflections['amplitudes'])
65
+ end
66
+
67
+ def test_set_on_distance_change
68
+ assert_nothing_raised {@phidget.on_distance_change {puts 'distance_changed'}}
69
+ end
70
+
71
+ def test_set_on_sonar_reflections_update
72
+ assert_nothing_raised {@phidget.on_sonar_reflections_update {puts 'sonar_reflections_updated'}}
73
+ end
74
+
75
+ end
76
+
@@ -2,65 +2,72 @@ require File.dirname(__FILE__) + '/test_helper.rb'
2
2
 
3
3
  class TestPhidgetsEncoder < Test::Unit::TestCase
4
4
 
5
- def test_create
6
- assert_nothing_raised {Phidgets::Encoder.new}
5
+ def setup
6
+ @phidget = Phidgets::Encoder.new
7
7
  end
8
8
 
9
- def test_get_input_count
10
- encoder = Phidgets::Encoder.new
11
- assert_raise(Phidgets::Error::NotAttached) {encoder.input_count}
9
+ def test_get_enabled
10
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.enabled?}
12
11
  end
13
12
 
14
- def test_get_input_state
15
- encoder = Phidgets::Encoder.new
16
- assert_raise(Phidgets::Error::NotAttached) {encoder.input_state 1}
13
+ def test_set_enabled
14
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.enabled = true}
17
15
  end
18
16
 
19
- def test_get_encoder_count
20
- encoder = Phidgets::Encoder.new
21
- assert_raise(Phidgets::Error::NotAttached) {encoder.encoder_count}
17
+ def test_get_data_interval
18
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.data_interval}
22
19
  end
23
20
 
24
- def test_get_position
25
- encoder = Phidgets::Encoder.new
26
- assert_raise(Phidgets::Error::NotAttached) {encoder.position 1}
21
+ def test_set_data_interval
22
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.data_interval = 2}
27
23
  end
28
24
 
29
- def test_set_position
30
- encoder = Phidgets::Encoder.new
31
- assert_raise(Phidgets::Error::NotAttached) {encoder.set_position 1, 1500}
25
+ def test_get_min_data_interval
26
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_data_interval}
27
+ end
28
+
29
+ def test_get_max_data_interval
30
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_data_interval}
32
31
  end
33
32
 
34
33
  def test_get_index_position
35
- encoder = Phidgets::Encoder.new
36
- assert_raise(Phidgets::Error::NotAttached) {encoder.index_position 1}
34
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.index_position}
37
35
  end
38
36
 
39
- def test_get_enabled
40
- encoder = Phidgets::Encoder.new
41
- assert_raise(Phidgets::Error::NotAttached) {encoder.enabled? 1}
37
+ def test_get_io_mode
38
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.io_mode}
42
39
  end
43
40
 
44
- def test_set_enabled
45
- encoder = Phidgets::Encoder.new
46
- assert_raise(Phidgets::Error::NotAttached) {encoder.set_enabled 1, true}
41
+ def test_set_io_mode
42
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.io_mode = Phidgets::Encoder::IO_MODE_LINE_DRIVER_2K2}
43
+ end
44
+
45
+ def test_get_position
46
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.position}
47
+ end
48
+
49
+ def test_set_position
50
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.position = 1500}
51
+ end
52
+
53
+ def test_get_position_change_trigger
54
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.position_change_trigger}
47
55
  end
48
56
 
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
57
+ def test_set_position_change_trigger
58
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.position_change_trigger = 500}
59
+ end
54
60
 
55
- def test_set_on_position_change
56
- encoder = Phidgets::Encoder.new
57
- assert_nothing_raised {encoder.on_position_change {puts 'hello'}}
58
- end
61
+ def test_get_min_position_change_trigger
62
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_position_change_trigger}
63
+ end
64
+
65
+ def test_get_max_position_change_trigger
66
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_position_change_trigger}
67
+ end
59
68
 
60
- def test_set_on_index
61
- encoder = Phidgets::Encoder.new
62
- assert_nothing_raised {encoder.on_index {puts 'hello'}}
63
- end
69
+ def test_on_position_change
70
+ assert_nothing_raised {@phidget.on_position_change {puts 'position_changed'}}
64
71
  end
65
72
 
66
73
  end
@@ -2,65 +2,100 @@ require File.dirname(__FILE__) + '/test_helper.rb'
2
2
 
3
3
  class TestPhidgetsFrequencyCounter < Test::Unit::TestCase
4
4
 
5
- def test_create
6
- assert_nothing_raised {Phidgets::FrequencyCounter.new}
5
+ def setup
6
+ @phidget = Phidgets::FrequencyCounter.new
7
7
  end
8
8
 
9
- def test_get_frequency_input_count
10
- freq = Phidgets::FrequencyCounter.new
11
- assert_raise(Phidgets::Error::NotAttached) {freq.frequency_input_count}
9
+ def test_get_count
10
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.count}
11
+ end
12
+
13
+ def test_get_enabled
14
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.enabled?}
15
+ end
16
+
17
+ def test_set_enabled
18
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.enabled = true}
19
+ end
20
+
21
+ def test_get_data_interval
22
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.data_interval}
23
+ end
24
+
25
+ def test_set_data_interval
26
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.data_interval = 2}
27
+ end
28
+
29
+ def test_get_min_data_interval
30
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_data_interval}
31
+ end
32
+
33
+ def test_get_max_data_interval
34
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_data_interval}
35
+ end
36
+
37
+ def test_get_filter_type
38
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.filter_type}
39
+ end
40
+
41
+ def test_set_filter_type
42
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.filter_type = Phidgets::FrequencyCounter::FILTER_TYPE_ZERO_CROSSING}
12
43
  end
13
44
 
14
45
  def test_get_frequency
15
- freq = Phidgets::FrequencyCounter.new
16
- assert_raise(Phidgets::Error::NotAttached) {freq.frequency 1}
46
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.frequency}
17
47
  end
18
48
 
19
- def test_get_total_time
20
- freq = Phidgets::FrequencyCounter.new
21
- assert_raise(Phidgets::Error::NotAttached) {freq.total_time 1}
49
+ def test_get_max_frequency
50
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_frequency}
22
51
  end
23
52
 
24
- def test_get_total_count
25
- freq = Phidgets::FrequencyCounter.new
26
- assert_raise(Phidgets::Error::NotAttached) {freq.total_count 1}
53
+ def test_get_frequency_cutoff
54
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.frequency_cutoff}
27
55
  end
28
56
 
29
- def test_timeout
30
- freq = Phidgets::FrequencyCounter.new
31
- assert_raise(Phidgets::Error::NotAttached) {freq.timeout 1}
57
+ def test_set_frequency_cutoff
58
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.frequency_cutoff = 2.5}
32
59
  end
33
60
 
34
- def test_set_timeout
35
- freq = Phidgets::FrequencyCounter.new
36
- assert_raise(Phidgets::Error::NotAttached) {freq.set_timeout 1, 100}
61
+ def test_get_min_frequency_cutoff
62
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.min_frequency_cutoff}
37
63
  end
38
64
 
39
- def test_get_enabled
40
- freq = Phidgets::FrequencyCounter.new
41
- assert_raise(Phidgets::Error::NotAttached) {freq.enabled? 1}
65
+ def test_get_max_frequency_cutoff
66
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.max_frequency_cutoff}
42
67
  end
43
68
 
44
- def test_set_enabled
45
- freq = Phidgets::FrequencyCounter.new
46
- assert_raise(Phidgets::Error::NotAttached) {freq.set_enabled 1, true}
69
+ def test_get_input_mode
70
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.input_mode}
71
+ end
72
+
73
+ def test_set_input_mode
74
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.input_mode = Phidgets::INPUT_MODE_PNP}
75
+ end
76
+
77
+ def test_get_power_supply
78
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.power_supply}
79
+ end
80
+
81
+ def test_set_power_supply
82
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.power_supply = Phidgets::POWER_SUPPLY_12V}
83
+ end
84
+
85
+ def test_reset
86
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.reset}
47
87
  end
48
88
 
49
- def test_get_filter
50
- freq = Phidgets::FrequencyCounter.new
51
- assert_raise(Phidgets::Error::NotAttached) {freq.filter 1}
89
+ def test_get_time_elapsed
90
+ assert_raise(Phidgets::Error::DeviceNotAttached) {@phidget.time_elapsed}
52
91
  end
53
92
 
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}
93
+ def test_set_on_count_change
94
+ assert_nothing_raised {@phidget.on_count_change {puts 'count_changed'}}
57
95
  end
58
96
 
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
97
+ def test_set_on_frequency_change
98
+ assert_nothing_raised {@phidget.on_frequency_change {puts 'frequency_changed'}}
64
99
  end
65
100
 
66
101
  end