def test_init_T4A(mocker, rats_response, max_send, max_recv, result):
clf = nfc.ContactlessFrontend()
mocker.patch.object(clf, 'exchange', autospec=True)
mocker.patch('nfc.ContactlessFrontend.max_send_data_size',
new_callable=mock.PropertyMock).return_value = max_send
mocker.patch('nfc.ContactlessFrontend.max_recv_data_size',
new_callable=mock.PropertyMock).return_value = max_recv
target = nfc.clf.RemoteTarget("106A")
target.sens_res = HEX("4403")
target.sel_res = HEX("20")
target.sdd_res = HEX("04832F9A272D80")
rats_command = 'E070' if max_recv < 256 else 'E080'
clf.exchange.return_value = HEX(rats_response)
tag = nfc.tag.activate(clf, target)
clf.exchange.assert_called_once_with(HEX(rats_command), 0.03)
assert isinstance(tag, nfc.tag.tt4.Type4Tag)
assert str(tag) == result
评论列表
文章目录