| 123456789101112131415161718192021222324252627282930313233343536 |
- package uhf
- import (
- "testing"
- "github.com/stretchr/testify/require"
- )
- type gateReaderStub struct {
- opened byte
- closed byte
- }
- func (s *gateReaderStub) Connect() error { return nil }
- func (s *gateReaderStub) Disconnect() error { return nil }
- func (s *gateReaderStub) SendData([]byte) error { return nil }
- func (s *gateReaderStub) ReadData() ([]byte, error) { return nil, nil }
- func (s *gateReaderStub) IsConnected() bool { return true }
- func (s *gateReaderStub) ReleaseRelay1() error { return nil }
- func (s *gateReaderStub) ReleaseRelay2() error { return nil }
- func (s *gateReaderStub) CloseRelay1(validTime byte) error { s.opened = validTime; return nil }
- func (s *gateReaderStub) CloseRelay2(validTime byte) error { s.closed = validTime; return nil }
- func TestManagerControlsBothGateDirections(t *testing.T) {
- reader := &gateReaderStub{}
- manager := &Manager{devices: map[string]*DeviceHandler{
- "GATE-01": {reader: reader},
- }}
- require.True(t, manager.IsGateConnected("GATE-01"))
- require.NoError(t, manager.OpenGate("GATE-01", 2))
- require.NoError(t, manager.CloseGate("GATE-01", 3))
- require.Equal(t, byte(2), reader.opened)
- require.Equal(t, byte(3), reader.closed)
- require.Error(t, manager.OpenGate("MISSING", 2))
- }
|