소스 검색

tests

master
Robin Thoni 9 년 전
부모
커밋
970a81a539
1개의 변경된 파일20개의 추가작업 그리고 5개의 파일을 삭제
  1. 20
    5
      tests/test_pcsc_cpp_tools.cpp

+ 20
- 5
tests/test_pcsc_cpp_tools.cpp 파일 보기

@@ -4,15 +4,30 @@
4 4
 #include <ScHex.h>
5 5
 #include <ScReader.h>
6 6
 
7
+#define TEST_Hex(FUNCTION) do {                                                                 \
8
+    FUNCTION("", "", 0);                                                          \
9
+    FUNCTION("42", "\x42", 1);                                                    \
10
+    FUNCTION("42 00 FF AA 24", "\x42\x00\xff\xaa\x24", 5);                        \
11
+    FUNCTION("00 01 02 03 04 05 06 FF", "\x00\x01\x02\x03\x04\x05\x06\xff", 8);   \
12
+    } while (0)
13
+
7 14
 #define TEST_byteArrayToString(STR, DATA, SIZE) \
8 15
   EXPECT_EQ(STR, ScHex::byteArrayToString(ScByteArray((BYTE*)memcpy(new BYTE[SIZE], DATA, SIZE), SIZE)))
9 16
 
10
-TEST(Hex, ByteToString)
17
+TEST(Hex, ByteArrayToString)
18
+{
19
+    TEST_Hex(TEST_byteArrayToString);
20
+}
21
+
22
+#define TEST_stringToByteArray(STR, DATA, SIZE) do {    \
23
+    auto bytes = ScHex::stringToByteArray(STR);         \
24
+    EXPECT_EQ(SIZE, bytes.getSize());                   \
25
+    EXPECT_EQ(0, memcmp(bytes.getData(), DATA, SIZE));            \
26
+    } while (0)
27
+
28
+TEST(Hex, StringToByteArray)
11 29
 {
12
-  TEST_byteArrayToString("", "", 0);
13
-  TEST_byteArrayToString("42", "\x42", 1);
14
-  TEST_byteArrayToString("42 00 FF AA 24", "\x42\x00\xff\xaa\x24", 5);
15
-  TEST_byteArrayToString("00 01 02 03 04 05 06 FF", "\x00\x01\x02\x03\x04\x05\x06\xff", 8);
30
+    TEST_Hex( TEST_stringToByteArray);
16 31
 }
17 32
 
18 33
 int main(int argc, char* argv[])

Loading…
취소
저장