@@ -24,100 +24,102 @@ def _false():
24
24
return False
25
25
26
26
27
- def assertEqual (a , b ):
28
- assert a == b , "Want %r, got %r" % (a , b )
27
+ def assertEqual (var_a , var_b ): # pylint: disable=invalid-name
28
+ assert var_a == var_b , "Want %r, got %r" % (var_a , var_b )
29
29
30
30
31
31
def test_back_and_forth ():
32
32
# Start false
33
- db = adafruit_debouncer .Debouncer (_false )
34
- assertEqual (db .value , False )
33
+ debouncer = adafruit_debouncer .Debouncer (_false )
34
+ assertEqual (debouncer .value , False )
35
35
36
36
# Set the raw state to true, update, and make sure the debounced
37
37
# state has not changed yet:
38
- db .function = _true
39
- db .update ()
40
- assertEqual (db .value , False )
41
- assert not db .last_duration , "There was no previous interval??"
38
+ debouncer .function = _true
39
+ debouncer .update ()
40
+ assertEqual (debouncer .value , False )
41
+ assert not debouncer .last_duration , "There was no previous interval??"
42
42
43
43
# Sleep longer than the debounce interval, so state can change:
44
44
time .sleep (0.02 )
45
- db .update ()
46
- assert db .last_duration # is actually duration between powerup and now
47
- assertEqual (db .value , True )
48
- assertEqual (db .rose , True )
49
- assertEqual (db .fell , False )
45
+ debouncer .update ()
46
+ assert debouncer .last_duration # is actually duration between powerup and now
47
+ assertEqual (debouncer .value , True )
48
+ assertEqual (debouncer .rose , True )
49
+ assertEqual (debouncer .fell , False )
50
50
# Duration since last change has only been long enough to run these
51
51
# asserts, which should be well under 1/10 second
52
- assert db .current_duration < 0.1 , "Unit error? %d" % db .current_duration
52
+ assert debouncer .current_duration < 0.1 , (
53
+ "Unit error? %d" % debouncer .current_duration
54
+ )
53
55
54
56
# Set raw state back to false, make sure it's not instantly reflected,
55
57
# then wait and make sure it IS reflected after the interval has passed.
56
- db .function = _false
57
- db .update ()
58
- assertEqual (db .value , True )
59
- assertEqual (db .fell , False )
60
- assertEqual (db .rose , False )
58
+ debouncer .function = _false
59
+ debouncer .update ()
60
+ assertEqual (debouncer .value , True )
61
+ assertEqual (debouncer .fell , False )
62
+ assertEqual (debouncer .rose , False )
61
63
time .sleep (0.02 )
62
- assert 0.019 < db .current_duration <= 1 , (
63
- "Unit error? sleep .02 -> duration %d" % db .current_duration
64
+ assert 0.019 < debouncer .current_duration <= 1 , (
65
+ "Unit error? sleep .02 -> duration %d" % debouncer .current_duration
64
66
)
65
- db .update ()
66
- assertEqual (db .value , False )
67
- assertEqual (db .rose , False )
68
- assertEqual (db .fell , True )
67
+ debouncer .update ()
68
+ assertEqual (debouncer .value , False )
69
+ assertEqual (debouncer .rose , False )
70
+ assertEqual (debouncer .fell , True )
69
71
70
- assert 0 < db .current_duration <= 0.1 , (
71
- "Unit error? time to run asserts %d" % db .current_duration
72
+ assert 0 < debouncer .current_duration <= 0.1 , (
73
+ "Unit error? time to run asserts %d" % debouncer .current_duration
72
74
)
73
- assert 0 < db .last_duration < 0.1 , (
74
- "Unit error? Last dur should be ~.02, is %d" % db .last_duration
75
+ assert 0 < debouncer .last_duration < 0.1 , (
76
+ "Unit error? Last dur should be ~.02, is %d" % debouncer .last_duration
75
77
)
76
78
77
79
78
80
def test_interval_is_the_same ():
79
- db = adafruit_debouncer .Debouncer (_false , interval = 0.25 )
80
- assertEqual (db .value , False )
81
- db .update ()
82
- db .function = _true
83
- db .update ()
81
+ debouncer = adafruit_debouncer .Debouncer (_false , interval = 0.25 )
82
+ assertEqual (debouncer .value , False )
83
+ debouncer .update ()
84
+ debouncer .function = _true
85
+ debouncer .update ()
84
86
85
87
time .sleep (0.1 ) # longer than default interval
86
- db .update ()
87
- assertEqual (db .value , False )
88
+ debouncer .update ()
89
+ assertEqual (debouncer .value , False )
88
90
89
91
time .sleep (0.2 ) # 0.1 + 0.2 > 0.25
90
- db .update ()
91
- assertEqual (db .value , True )
92
- assertEqual (db .rose , True )
93
- assertEqual (db .interval , 0.25 )
92
+ debouncer .update ()
93
+ assertEqual (debouncer .value , True )
94
+ assertEqual (debouncer .rose , True )
95
+ assertEqual (debouncer .interval , 0.25 )
94
96
95
97
96
98
def test_setting_interval ():
97
99
# Check that setting the interval does change the time the debouncer waits
98
- db = adafruit_debouncer .Debouncer (_false , interval = 0.01 )
99
- db .update ()
100
+ debouncer = adafruit_debouncer .Debouncer (_false , interval = 0.01 )
101
+ debouncer .update ()
100
102
101
103
# set the interval to a longer time, sleep for a time between
102
104
# the two interval settings, and assert that the value hasn't changed.
103
105
104
- db .function = _true
105
- db .interval = 0.2
106
- db .update ()
107
- assert db .interval - 0.2 < 0.00001 , "interval is not consistent"
106
+ debouncer .function = _true
107
+ debouncer .interval = 0.2
108
+ debouncer .update ()
109
+ assert debouncer .interval - 0.2 < 0.00001 , "interval is not consistent"
108
110
time .sleep (0.11 )
109
- db .update ()
111
+ debouncer .update ()
110
112
111
- assertEqual (db .value , False )
112
- assertEqual (db .rose , False )
113
- assertEqual (db .fell , False )
113
+ assertEqual (debouncer .value , False )
114
+ assertEqual (debouncer .rose , False )
115
+ assertEqual (debouncer .fell , False )
114
116
115
117
# and then once the whole time has passed make sure it did change
116
118
time .sleep (0.11 )
117
- db .update ()
118
- assertEqual (db .value , True )
119
- assertEqual (db .rose , True )
120
- assertEqual (db .fell , False )
119
+ debouncer .update ()
120
+ assertEqual (debouncer .value , True )
121
+ assertEqual (debouncer .rose , True )
122
+ assertEqual (debouncer .fell , False )
121
123
122
124
123
125
def run ():
@@ -131,8 +133,8 @@ def run():
131
133
test ()
132
134
print ("PASS" )
133
135
passes += 1
134
- except Exception as e :
135
- sys .print_exception (e )
136
+ except Exception as err : # pylint: disable=broad-except
137
+ sys .print_exception (err ) # pylint: disable=no-member
136
138
print ("FAIL" )
137
139
fails += 1
138
140
0 commit comments