Completed implementation.
This commit is contained in:
parent
0915ea059a
commit
58abd4cc34
10 changed files with 260 additions and 66 deletions
|
@ -135,6 +135,50 @@ func (t *RuleTargetAxisTests) TestCreateEvent() {
|
|||
t.EqualValues(expected, ruleTarget.CreateEvent(testValue, nil))
|
||||
}
|
||||
|
||||
func (t *RuleTargetAxisTests) TestGetAxisStrength() {
|
||||
t.Run("With no deadzone", func() {
|
||||
ruleTarget, _ := NewRuleTargetAxis("", t.mock, evdev.ABS_X, false, 0, 0)
|
||||
t.Equal(0.0, ruleTarget.GetAxisStrength(0))
|
||||
t.Equal(1.0, ruleTarget.GetAxisStrength(10000))
|
||||
t.Equal(0.5, ruleTarget.GetAxisStrength(5000))
|
||||
})
|
||||
|
||||
t.Run("With low deadzone", func() {
|
||||
ruleTarget, _ := NewRuleTargetAxis("", t.mock, evdev.ABS_X, false, 0, 5000)
|
||||
t.InDelta(0.0, ruleTarget.GetAxisStrength(5001), 0.01)
|
||||
t.InDelta(0.5, ruleTarget.GetAxisStrength(7500), 0.01)
|
||||
t.Equal(1.0, ruleTarget.GetAxisStrength(10000))
|
||||
})
|
||||
|
||||
t.Run("With high deadzone", func() {
|
||||
ruleTarget, _ := NewRuleTargetAxis("", t.mock, evdev.ABS_X, false, 5000, 10000)
|
||||
t.Equal(0.0, ruleTarget.GetAxisStrength(0))
|
||||
t.InDelta(0.5, ruleTarget.GetAxisStrength(2500), 0.01)
|
||||
t.InDelta(1.0, ruleTarget.GetAxisStrength(4999), 0.01)
|
||||
})
|
||||
|
||||
t.Run("Inverted", func() {
|
||||
ruleTarget, _ := NewRuleTargetAxis("", t.mock, evdev.ABS_X, true, 0, 0)
|
||||
t.Equal(1.0, ruleTarget.GetAxisStrength(0))
|
||||
t.Equal(0.5, ruleTarget.GetAxisStrength(5000))
|
||||
t.Equal(0.0, ruleTarget.GetAxisStrength(10000))
|
||||
})
|
||||
|
||||
t.Run("Inverted with low deadzone", func() {
|
||||
ruleTarget, _ := NewRuleTargetAxis("", t.mock, evdev.ABS_X, true, 0, 5000)
|
||||
t.InDelta(1.0, ruleTarget.GetAxisStrength(5001), 0.01)
|
||||
t.InDelta(0.5, ruleTarget.GetAxisStrength(7500), 0.01)
|
||||
t.Equal(0.0, ruleTarget.GetAxisStrength(10000))
|
||||
})
|
||||
|
||||
t.Run("Inverted with high deadzone", func() {
|
||||
ruleTarget, _ := NewRuleTargetAxis("", t.mock, evdev.ABS_X, true, 5000, 10000)
|
||||
t.InDelta(0.0, ruleTarget.GetAxisStrength(4999), 0.01)
|
||||
t.InDelta(0.5, ruleTarget.GetAxisStrength(2500), 0.01)
|
||||
t.Equal(1.0, ruleTarget.GetAxisStrength(0))
|
||||
})
|
||||
}
|
||||
|
||||
func TestRunnerRuleTargetAxisTests(t *testing.T) {
|
||||
suite.Run(t, new(RuleTargetAxisTests))
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue