Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

test_pcsc_cpp_tools.cpp 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #include <iostream>
  2. #include <string.h>
  3. #include <gtest/gtest.h>
  4. #include <ScHex.h>
  5. #include <ScReader.h>
  6. #define TEST_Hex(FUNCTION) do { \
  7. FUNCTION("", "", 0); \
  8. FUNCTION("42", "\x42", 1); \
  9. FUNCTION("42 00 FF AA 24", "\x42\x00\xff\xaa\x24", 5); \
  10. FUNCTION("00 01 02 03 04 05 06 FF", "\x00\x01\x02\x03\x04\x05\x06\xff", 8); \
  11. } while (0)
  12. #define TEST_byteArrayToString(STR, DATA, SIZE) \
  13. EXPECT_EQ(STR, ScHex::byteArrayToString(ScByteArray((BYTE*)memcpy(new BYTE[SIZE], DATA, SIZE), SIZE)))
  14. TEST(Hex, ByteArrayToString)
  15. {
  16. TEST_Hex(TEST_byteArrayToString);
  17. }
  18. #define TEST_stringToByteArray(STR, DATA, SIZE) do { \
  19. auto bytes = ScHex::stringToByteArray(STR); \
  20. EXPECT_EQ(SIZE, bytes.getSize()); \
  21. EXPECT_EQ(0, memcmp(bytes.getData(), DATA, SIZE)); \
  22. } while (0)
  23. TEST(Hex, StringToByteArray)
  24. {
  25. TEST_Hex( TEST_stringToByteArray);
  26. }
  27. int main(int argc, char* argv[])
  28. {
  29. ::testing::InitGoogleTest(&argc, argv);
  30. return RUN_ALL_TESTS();
  31. /*std::cout << ScReader::establishContext() << std::endl;
  32. auto readers = ScReader::getReaders();
  33. for (auto reader : readers)
  34. {
  35. std::cout << reader->getName() << " ";
  36. std::cout << reader->connect() << " ";
  37. std::cout << reader->disconnect();
  38. std::cout << std::endl;
  39. }
  40. std::cout << ScReader::freeContext() << std::endl;
  41. return 0;*/
  42. }