2014-04-27 18:02:39 -07:00
|
|
|
package joystick
|
2014-04-26 03:11:51 -07:00
|
|
|
|
|
|
|
import (
|
2017-04-06 10:00:58 +02:00
|
|
|
"strings"
|
2014-06-13 12:54:21 -07:00
|
|
|
"testing"
|
2014-07-22 13:55:19 -07:00
|
|
|
|
2023-09-23 12:32:31 +02:00
|
|
|
"github.com/stretchr/testify/assert"
|
2023-11-12 14:17:02 +01:00
|
|
|
"github.com/stretchr/testify/require"
|
2023-09-23 12:32:31 +02:00
|
|
|
|
2023-05-20 14:25:21 +02:00
|
|
|
"gobot.io/x/gobot/v2"
|
2014-04-26 03:11:51 -07:00
|
|
|
)
|
|
|
|
|
2016-09-25 21:07:36 +02:00
|
|
|
var _ gobot.Adaptor = (*Adaptor)(nil)
|
2016-08-26 14:23:03 +02:00
|
|
|
|
2016-09-25 21:07:36 +02:00
|
|
|
func initTestAdaptor() *Adaptor {
|
2023-09-23 12:32:31 +02:00
|
|
|
a := NewAdaptor("6")
|
2023-11-15 20:51:52 +01:00
|
|
|
a.connect = func(j *Adaptor) error {
|
2014-07-22 13:55:19 -07:00
|
|
|
j.joystick = &testJoystick{}
|
2014-11-19 15:45:59 -08:00
|
|
|
return nil
|
2014-07-22 13:55:19 -07:00
|
|
|
}
|
|
|
|
return a
|
2014-06-13 12:54:21 -07:00
|
|
|
}
|
2014-04-26 03:11:51 -07:00
|
|
|
|
2017-04-06 10:00:58 +02:00
|
|
|
func TestJoystickAdaptorName(t *testing.T) {
|
|
|
|
a := initTestAdaptor()
|
2023-09-23 12:32:31 +02:00
|
|
|
assert.True(t, strings.HasPrefix(a.Name(), "Joystick"))
|
2017-04-06 10:00:58 +02:00
|
|
|
a.SetName("NewName")
|
2023-11-12 14:17:02 +01:00
|
|
|
assert.Equal(t, "NewName", a.Name())
|
2017-04-06 10:00:58 +02:00
|
|
|
}
|
|
|
|
|
2016-09-25 21:07:36 +02:00
|
|
|
func TestAdaptorConnect(t *testing.T) {
|
|
|
|
a := initTestAdaptor()
|
2023-11-12 14:17:02 +01:00
|
|
|
require.NoError(t, a.Connect())
|
2014-11-19 18:54:31 -08:00
|
|
|
|
2023-09-23 12:32:31 +02:00
|
|
|
a = NewAdaptor("6")
|
|
|
|
err := a.Connect()
|
2023-11-15 20:51:52 +01:00
|
|
|
require.ErrorContains(t, err, "no joystick available")
|
2014-06-13 12:54:21 -07:00
|
|
|
}
|
2014-06-13 16:01:39 -07:00
|
|
|
|
2016-09-25 21:07:36 +02:00
|
|
|
func TestAdaptorFinalize(t *testing.T) {
|
|
|
|
a := initTestAdaptor()
|
2023-06-12 19:51:25 +02:00
|
|
|
_ = a.Connect()
|
2023-11-12 14:17:02 +01:00
|
|
|
require.NoError(t, a.Finalize())
|
2014-06-13 12:54:21 -07:00
|
|
|
}
|