diff options
Diffstat (limited to '')
| -rw-r--r-- | src/unit/archive.unit | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/src/unit/archive.unit b/src/unit/archive.unit new file mode 100644 index 0000000..ecc589b --- /dev/null +++ b/src/unit/archive.unit | |||
| @@ -0,0 +1,130 @@ | |||
| 1 | // vim: syntax=cpp | ||
| 2 | /* | ||
| 3 | * Copyright (C) 2007-2008 Xagasoft, All rights reserved. | ||
| 4 | * | ||
| 5 | * This file is part of the libbu++ library and is released under the | ||
| 6 | * terms of the license contained in the file LICENSE. | ||
| 7 | */ | ||
| 8 | |||
| 9 | #include "bu/membuf.h" | ||
| 10 | |||
| 11 | {=Init} | ||
| 12 | |||
| 13 | {%testPrimitives} | ||
| 14 | { | ||
| 15 | Bu::MemBuf mb; | ||
| 16 | { | ||
| 17 | Bu::Archive ar( mb, Bu::Archive::save ); | ||
| 18 | ar << (int8_t)1; | ||
| 19 | ar << (uint8_t)2; | ||
| 20 | ar << (int16_t)3; | ||
| 21 | ar << (uint16_t)4; | ||
| 22 | ar << (int32_t)5; | ||
| 23 | ar << (uint32_t)6; | ||
| 24 | ar << (int64_t)7; | ||
| 25 | ar << (uint64_t)8; | ||
| 26 | ar << (char)9; | ||
| 27 | ar << (unsigned char)10; | ||
| 28 | ar << (short)11; | ||
| 29 | ar << (unsigned short)12; | ||
| 30 | ar << (int)13; | ||
| 31 | ar << (unsigned int)14; | ||
| 32 | ar << (long)15; | ||
| 33 | ar << (unsigned long)16; | ||
| 34 | ar << (long long)17; | ||
| 35 | ar << (unsigned long long)18; | ||
| 36 | ar.close(); | ||
| 37 | } | ||
| 38 | mb.setPos( 0 ); | ||
| 39 | { | ||
| 40 | Bu::Archive ar( mb, Bu::Archive::load ); | ||
| 41 | int8_t p1; | ||
| 42 | uint8_t p2; | ||
| 43 | int16_t p3; | ||
| 44 | uint16_t p4; | ||
| 45 | int32_t p5; | ||
| 46 | uint32_t p6; | ||
| 47 | int64_t p7; | ||
| 48 | uint64_t p8; | ||
| 49 | char p9; | ||
| 50 | unsigned char p10; | ||
| 51 | short p11; | ||
| 52 | unsigned short p12; | ||
| 53 | int p13; | ||
| 54 | unsigned int p14; | ||
| 55 | long p15; | ||
| 56 | unsigned long p16; | ||
| 57 | long long p17; | ||
| 58 | unsigned long long p18; | ||
| 59 | ar >> p1; | ||
| 60 | ar >> p2; | ||
| 61 | ar >> p3; | ||
| 62 | ar >> p4; | ||
| 63 | ar >> p5; | ||
| 64 | ar >> p6; | ||
| 65 | ar >> p7; | ||
| 66 | ar >> p8; | ||
| 67 | ar >> p9; | ||
| 68 | ar >> p10; | ||
| 69 | ar >> p11; | ||
| 70 | ar >> p12; | ||
| 71 | ar >> p13; | ||
| 72 | ar >> p14; | ||
| 73 | ar >> p15; | ||
| 74 | ar >> p16; | ||
| 75 | ar >> p17; | ||
| 76 | ar >> p18; | ||
| 77 | unitTest( p1 == 1 ); | ||
| 78 | unitTest( p2 == 2 ); | ||
| 79 | unitTest( p3 == 3 ); | ||
| 80 | unitTest( p4 == 4 ); | ||
| 81 | unitTest( p5 == 5 ); | ||
| 82 | unitTest( p6 == 6 ); | ||
| 83 | unitTest( p7 == 7 ); | ||
| 84 | unitTest( p8 == 8 ); | ||
| 85 | unitTest( p9 == 9 ); | ||
| 86 | unitTest( p10 == 10 ); | ||
| 87 | unitTest( p11 == 11 ); | ||
| 88 | unitTest( p12 == 12 ); | ||
| 89 | unitTest( p13 == 13 ); | ||
| 90 | unitTest( p14 == 14 ); | ||
| 91 | unitTest( p15 == 15 ); | ||
| 92 | unitTest( p16 == 16 ); | ||
| 93 | unitTest( p17 == 17 ); | ||
| 94 | unitTest( p18 == 18 ); | ||
| 95 | ar.close(); | ||
| 96 | } | ||
| 97 | } | ||
| 98 | |||
| 99 | {%testContainers} | ||
| 100 | { | ||
| 101 | Bu::MemBuf mb; | ||
| 102 | { | ||
| 103 | Bu::Archive ar( mb, Bu::Archive::save ); | ||
| 104 | Bu::FString sStr("This is a test string."); | ||
| 105 | Bu::List<int> lList; | ||
| 106 | lList.append( 10 ); | ||
| 107 | lList.append( 20 ); | ||
| 108 | lList.append( 30 ); | ||
| 109 | lList.append( 40 ); | ||
| 110 | ar << sStr; | ||
| 111 | ar << lList; | ||
| 112 | ar.close(); | ||
| 113 | } | ||
| 114 | mb.setPos( 0 ); | ||
| 115 | { | ||
| 116 | Bu::Archive ar( mb, Bu::Archive::load ); | ||
| 117 | Bu::FString sStr; | ||
| 118 | Bu::List<int> lList; | ||
| 119 | ar >> sStr; | ||
| 120 | ar >> lList; | ||
| 121 | unitTest( sStr == "This is a test string." ); | ||
| 122 | unitTest( lList.getSize() == 4 ); | ||
| 123 | Bu::List<int>::iterator i = lList.begin(); | ||
| 124 | unitTest( *i == 10 ); i++; | ||
| 125 | unitTest( *i == 20 ); i++; | ||
| 126 | unitTest( *i == 30 ); i++; | ||
| 127 | unitTest( *i == 40 ); | ||
| 128 | ar.close(); | ||
| 129 | } | ||
| 130 | } | ||
