Fix tests.
This commit is contained in:
parent
74f49c0dc6
commit
f9355c6cec
1 changed files with 80 additions and 80 deletions
|
@ -1,6 +1,7 @@
|
|||
package config
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/holoplot/go-evdev"
|
||||
|
@ -91,36 +92,35 @@ func (t *MakeRuleTargetsTests) TestMakeRuleTargetButton() {
|
|||
}
|
||||
|
||||
func (t *MakeRuleTargetsTests) TestMakeRuleTargetAxis() {
|
||||
config := RuleTargetConfigAxis{Device: "test"}
|
||||
codeTestCases := []struct {
|
||||
input string
|
||||
output evdev.EvCode
|
||||
}{
|
||||
{"ABS_X", evdev.ABS_X},
|
||||
{"0x01", evdev.ABS_Y},
|
||||
{"x", evdev.ABS_X},
|
||||
}
|
||||
|
||||
t.Run("Standard code", func() {
|
||||
config.Axis = "ABS_X"
|
||||
rule, err := makeRuleTargetAxis(config, t.devs)
|
||||
t.Nil(err)
|
||||
t.EqualValues(evdev.ABS_X, rule.Axis)
|
||||
})
|
||||
for _, tc := range codeTestCases {
|
||||
t.Run(fmt.Sprintf("KeyCode %s", tc.input), func() {
|
||||
config := RuleTargetConfigAxis{Device: "test"}
|
||||
config.Axis = tc.input
|
||||
rule, err := makeRuleTargetAxis(config, t.devs)
|
||||
t.Nil(err)
|
||||
t.EqualValues(tc.output, rule.Axis)
|
||||
|
||||
t.Run("Hex code", func() {
|
||||
config.Axis = "0x01"
|
||||
rule, err := makeRuleTargetAxis(config, t.devs)
|
||||
t.Nil(err)
|
||||
t.EqualValues(evdev.ABS_Y, rule.Axis)
|
||||
})
|
||||
|
||||
t.Run("Un-prefixed code", func() {
|
||||
config.Axis = "x"
|
||||
rule, err := makeRuleTargetAxis(config, t.devs)
|
||||
t.Nil(err)
|
||||
t.EqualValues(evdev.ABS_X, rule.Axis)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
t.Run("Invalid code", func() {
|
||||
config := RuleTargetConfigAxis{Device: "test"}
|
||||
config.Axis = "foo"
|
||||
_, err := makeRuleTargetAxis(config, t.devs)
|
||||
t.NotNil(err)
|
||||
})
|
||||
|
||||
t.Run("Invalid deadzone", func() {
|
||||
config := RuleTargetConfigAxis{Device: "test"}
|
||||
config.Axis = "x"
|
||||
config.DeadzoneEnd = 100
|
||||
config.DeadzoneStart = 1000
|
||||
|
@ -128,78 +128,78 @@ func (t *MakeRuleTargetsTests) TestMakeRuleTargetAxis() {
|
|||
t.NotNil(err)
|
||||
})
|
||||
|
||||
t.Run("Deadzone center/size", func() {
|
||||
config.Axis = "x"
|
||||
config.DeadzoneCenter = 5000
|
||||
config.DeadzoneSize = 1000
|
||||
rule, err := makeRuleTargetAxis(config, t.devs)
|
||||
t.Nil(err)
|
||||
t.EqualValues(4500, rule.DeadzoneStart)
|
||||
t.EqualValues(5500, rule.DeadzoneEnd)
|
||||
})
|
||||
relDeadzoneTestCases := []struct {
|
||||
inCenter int32
|
||||
inSize int32
|
||||
outStart int32
|
||||
outEnd int32
|
||||
}{
|
||||
{5000, 1000, 4500, 5500},
|
||||
{0, 500, 0, 500},
|
||||
{10000, 500, 9500, 10000},
|
||||
}
|
||||
|
||||
t.Run("Deadzone center/size lower boundary", func() {
|
||||
config.Axis = "x"
|
||||
config.DeadzoneCenter = 0
|
||||
config.DeadzoneSize = 500
|
||||
rule, err := makeRuleTargetAxis(config, t.devs)
|
||||
t.Nil(err)
|
||||
t.EqualValues(0, rule.DeadzoneStart)
|
||||
t.EqualValues(500, rule.DeadzoneEnd)
|
||||
})
|
||||
for _, tc := range relDeadzoneTestCases {
|
||||
t.Run(fmt.Sprintf("Relative Deadzone %d +- %d", tc.inCenter, tc.inSize), func() {
|
||||
config := RuleTargetConfigAxis{
|
||||
Device: "test",
|
||||
Axis: "x",
|
||||
DeadzoneCenter: tc.inCenter,
|
||||
DeadzoneSize: tc.inSize,
|
||||
}
|
||||
rule, err := makeRuleTargetAxis(config, t.devs)
|
||||
|
||||
t.Run("Deadzone center/size upper boundary", func() {
|
||||
config.Axis = "x"
|
||||
config.DeadzoneCenter = 10000
|
||||
config.DeadzoneSize = 500
|
||||
rule, err := makeRuleTargetAxis(config, t.devs)
|
||||
t.Nil(err)
|
||||
t.EqualValues(9500, rule.DeadzoneStart)
|
||||
t.EqualValues(10000, rule.DeadzoneEnd)
|
||||
})
|
||||
t.Nil(err)
|
||||
t.Equal(tc.outStart, rule.DeadzoneStart)
|
||||
t.Equal(tc.outEnd, rule.DeadzoneEnd)
|
||||
})
|
||||
}
|
||||
|
||||
t.Run("Deadzone center/size invalid center", func() {
|
||||
config.Axis = "x"
|
||||
config.DeadzoneCenter = 20000
|
||||
config.DeadzoneSize = 500
|
||||
config := RuleTargetConfigAxis{
|
||||
Device: "test",
|
||||
Axis: "x",
|
||||
DeadzoneCenter: 20000,
|
||||
DeadzoneSize: 500,
|
||||
}
|
||||
_, err := makeRuleTargetAxis(config, t.devs)
|
||||
t.NotNil(err)
|
||||
})
|
||||
|
||||
t.Run("Deadzone center/percent", func() {
|
||||
config.Axis = "x"
|
||||
config.DeadzoneCenter = 5000
|
||||
config.DeadzoneSizePercent = 10
|
||||
rule, err := makeRuleTargetAxis(config, t.devs)
|
||||
t.Nil(err)
|
||||
t.EqualValues(4500, rule.DeadzoneStart)
|
||||
t.EqualValues(5500, rule.DeadzoneEnd)
|
||||
})
|
||||
relDeadzonePercentTestCases := []struct {
|
||||
inCenter int32
|
||||
inSizePercent int32
|
||||
outStart int32
|
||||
outEnd int32
|
||||
}{
|
||||
{5000, 10, 4500, 5500},
|
||||
{0, 10, 0, 1000},
|
||||
{10000, 10, 9000, 10000},
|
||||
}
|
||||
|
||||
t.Run("Deadzone center/percent lower boundary", func() {
|
||||
config.Axis = "x"
|
||||
config.DeadzoneCenter = 0
|
||||
config.DeadzoneSizePercent = 10
|
||||
rule, err := makeRuleTargetAxis(config, t.devs)
|
||||
t.Nil(err)
|
||||
t.EqualValues(0, rule.DeadzoneStart)
|
||||
t.EqualValues(1000, rule.DeadzoneEnd)
|
||||
})
|
||||
for _, tc := range relDeadzonePercentTestCases {
|
||||
t.Run(fmt.Sprintf("Relative percent deadzone %d +- %d%%", tc.inCenter, tc.inSizePercent), func() {
|
||||
config := RuleTargetConfigAxis{
|
||||
Device: "test",
|
||||
Axis: "x",
|
||||
DeadzoneCenter: tc.inCenter,
|
||||
DeadzoneSizePercent: tc.inSizePercent,
|
||||
}
|
||||
rule, err := makeRuleTargetAxis(config, t.devs)
|
||||
|
||||
t.Run("Deadzone center/percent upper boundary", func() {
|
||||
config.Axis = "x"
|
||||
config.DeadzoneCenter = 10000
|
||||
config.DeadzoneSizePercent = 10
|
||||
rule, err := makeRuleTargetAxis(config, t.devs)
|
||||
t.Nil(err)
|
||||
t.EqualValues(9000, rule.DeadzoneStart)
|
||||
t.EqualValues(10000, rule.DeadzoneEnd)
|
||||
})
|
||||
t.Nil(err)
|
||||
t.Equal(tc.outStart, rule.DeadzoneStart)
|
||||
t.Equal(tc.outEnd, rule.DeadzoneEnd)
|
||||
})
|
||||
}
|
||||
|
||||
t.Run("Deadzone center/percent invalid center", func() {
|
||||
config.Axis = "x"
|
||||
config.DeadzoneCenter = 20000
|
||||
config.DeadzoneSizePercent = 10
|
||||
config := RuleTargetConfigAxis{
|
||||
Device: "test",
|
||||
Axis: "x",
|
||||
DeadzoneCenter: 20000,
|
||||
DeadzoneSizePercent: 10,
|
||||
}
|
||||
_, err := makeRuleTargetAxis(config, t.devs)
|
||||
t.NotNil(err)
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue