def test_init_T4B(mocker, sensb_res, 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("106B")
target.sensb_res = HEX(sensb_res)
attrib_cmd = '1D30702A1C' + ('00070100' if max_recv < 256 else '00080100')
clf.exchange.return_value = HEX('00')
tag = nfc.tag.activate(clf, target)
clf.exchange.assert_called_once_with(HEX(attrib_cmd), 0.03)
assert isinstance(tag, nfc.tag.tt4.Type4Tag)
assert str(tag) == result
评论列表
文章目录