A library for talking to Multi-Tech's Cellular SocketModem Devices.
Dependents: M2X_dev axeda_wrapper_dev MTS_M2x_Example1 MTS_Cellular_Connect_Example ... more
tests/testMTSCircularBuffer.h@0:563b70517320, 2013-12-09 (annotated)
- Committer:
- jengbrecht
- Date:
- Mon Dec 09 15:29:35 2013 +0000
- Revision:
- 0:563b70517320
- Child:
- 60:ee9c7a700330
Initial Commit Library!
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jengbrecht | 0:563b70517320 | 1 | #ifndef TESTMTSCIRCULARBUFFER_H |
jengbrecht | 0:563b70517320 | 2 | #define TESTMTSCIRCULARBUFFER_H |
jengbrecht | 0:563b70517320 | 3 | |
jengbrecht | 0:563b70517320 | 4 | #include "MTSCircularBuffer.h" |
jengbrecht | 0:563b70517320 | 5 | #include "Vars.h" |
jengbrecht | 0:563b70517320 | 6 | |
jengbrecht | 0:563b70517320 | 7 | int capacity = 0; |
jengbrecht | 0:563b70517320 | 8 | MTSCircularBuffer* buffer = new MTSCircularBuffer(5); |
jengbrecht | 0:563b70517320 | 9 | |
jengbrecht | 0:563b70517320 | 10 | void callback() |
jengbrecht | 0:563b70517320 | 11 | { |
jengbrecht | 0:563b70517320 | 12 | capacity = buffer->capacity(); |
jengbrecht | 0:563b70517320 | 13 | } |
jengbrecht | 0:563b70517320 | 14 | |
jengbrecht | 0:563b70517320 | 15 | int testMTSCircularBuffer() |
jengbrecht | 0:563b70517320 | 16 | { |
jengbrecht | 0:563b70517320 | 17 | printf("Testing: MTSCircularBuffer\n"); |
jengbrecht | 0:563b70517320 | 18 | int failed = 0; |
jengbrecht | 0:563b70517320 | 19 | |
jengbrecht | 0:563b70517320 | 20 | |
jengbrecht | 0:563b70517320 | 21 | //Test getSize method |
jengbrecht | 0:563b70517320 | 22 | if (buffer->getSize() != 5) { |
jengbrecht | 0:563b70517320 | 23 | printf("Failed: getSize()\n"); |
jengbrecht | 0:563b70517320 | 24 | failed++; |
jengbrecht | 0:563b70517320 | 25 | } |
jengbrecht | 0:563b70517320 | 26 | |
jengbrecht | 0:563b70517320 | 27 | //Test clear function |
jengbrecht | 0:563b70517320 | 28 | buffer->write("AT", 2); |
jengbrecht | 0:563b70517320 | 29 | buffer->clear(); |
jengbrecht | 0:563b70517320 | 30 | if (buffer->available() != 0) { |
jengbrecht | 0:563b70517320 | 31 | printf("Failed: clear()\n"); |
jengbrecht | 0:563b70517320 | 32 | failed++; |
jengbrecht | 0:563b70517320 | 33 | } |
jengbrecht | 0:563b70517320 | 34 | |
jengbrecht | 0:563b70517320 | 35 | /* The next set of test all rely on an empty buffer!!! */ |
jengbrecht | 0:563b70517320 | 36 | |
jengbrecht | 0:563b70517320 | 37 | //Test isEmpty method - empty buffer |
jengbrecht | 0:563b70517320 | 38 | if (buffer->isEmpty() != true) { |
jengbrecht | 0:563b70517320 | 39 | printf("Failed: isEmpty() - empty\n"); |
jengbrecht | 0:563b70517320 | 40 | failed++; |
jengbrecht | 0:563b70517320 | 41 | } |
jengbrecht | 0:563b70517320 | 42 | |
jengbrecht | 0:563b70517320 | 43 | //Test isFull method - empty buffer |
jengbrecht | 0:563b70517320 | 44 | if (buffer->isFull() == true) { |
jengbrecht | 0:563b70517320 | 45 | printf("Failed: isFull() - empty\n"); |
jengbrecht | 0:563b70517320 | 46 | failed++; |
jengbrecht | 0:563b70517320 | 47 | } |
jengbrecht | 0:563b70517320 | 48 | |
jengbrecht | 0:563b70517320 | 49 | //Test capacity method - empty buffer |
jengbrecht | 0:563b70517320 | 50 | if (buffer->capacity() != 5) { |
jengbrecht | 0:563b70517320 | 51 | printf("Failed: capacity() - empty\n"); |
jengbrecht | 0:563b70517320 | 52 | failed++; |
jengbrecht | 0:563b70517320 | 53 | } |
jengbrecht | 0:563b70517320 | 54 | |
jengbrecht | 0:563b70517320 | 55 | //Test available method - empty buffer |
jengbrecht | 0:563b70517320 | 56 | if (buffer->available() != 0) { |
jengbrecht | 0:563b70517320 | 57 | printf("Failed: available() - empty\n"); |
jengbrecht | 0:563b70517320 | 58 | failed++; |
jengbrecht | 0:563b70517320 | 59 | } |
jengbrecht | 0:563b70517320 | 60 | |
jengbrecht | 0:563b70517320 | 61 | /* The next set of tests all rely on a full buffer */ |
jengbrecht | 0:563b70517320 | 62 | |
jengbrecht | 0:563b70517320 | 63 | //Test bulk write method |
jengbrecht | 0:563b70517320 | 64 | int tmp = buffer->write("Test", 5); |
jengbrecht | 0:563b70517320 | 65 | if (tmp != 0) { |
jengbrecht | 0:563b70517320 | 66 | printf("Failed: bulk write()\n"); |
jengbrecht | 0:563b70517320 | 67 | failed++; |
jengbrecht | 0:563b70517320 | 68 | } |
jengbrecht | 0:563b70517320 | 69 | |
jengbrecht | 0:563b70517320 | 70 | //Test isEmpty method - full buffer |
jengbrecht | 0:563b70517320 | 71 | if (buffer->isEmpty() == true) { |
jengbrecht | 0:563b70517320 | 72 | printf("Failed: isEmpty() - full\n"); |
jengbrecht | 0:563b70517320 | 73 | failed++; |
jengbrecht | 0:563b70517320 | 74 | } |
jengbrecht | 0:563b70517320 | 75 | |
jengbrecht | 0:563b70517320 | 76 | //Test isFull method - full buffer |
jengbrecht | 0:563b70517320 | 77 | if (buffer->isFull() == false) { |
jengbrecht | 0:563b70517320 | 78 | printf("Failed: isFull() - full\n"); |
jengbrecht | 0:563b70517320 | 79 | failed++; |
jengbrecht | 0:563b70517320 | 80 | } |
jengbrecht | 0:563b70517320 | 81 | |
jengbrecht | 0:563b70517320 | 82 | //Test capacity method - full buffer |
jengbrecht | 0:563b70517320 | 83 | if (buffer->capacity() != 0) { |
jengbrecht | 0:563b70517320 | 84 | printf("Failed: capacity() - full\n"); |
jengbrecht | 0:563b70517320 | 85 | failed++; |
jengbrecht | 0:563b70517320 | 86 | } |
jengbrecht | 0:563b70517320 | 87 | |
jengbrecht | 0:563b70517320 | 88 | //Test available method - full buffer |
jengbrecht | 0:563b70517320 | 89 | if (buffer->available() != 5) { |
jengbrecht | 0:563b70517320 | 90 | printf("Failed: available() - full\n"); |
jengbrecht | 0:563b70517320 | 91 | failed++; |
jengbrecht | 0:563b70517320 | 92 | } |
jengbrecht | 0:563b70517320 | 93 | |
jengbrecht | 0:563b70517320 | 94 | //Test single overwrite method |
jengbrecht | 0:563b70517320 | 95 | if (buffer->write('A') != -1) { |
jengbrecht | 0:563b70517320 | 96 | printf("Failed: write() - overwrite\n"); |
jengbrecht | 0:563b70517320 | 97 | failed++; |
jengbrecht | 0:563b70517320 | 98 | } |
jengbrecht | 0:563b70517320 | 99 | |
jengbrecht | 0:563b70517320 | 100 | //Test bulk overwrite method |
jengbrecht | 0:563b70517320 | 101 | if (buffer->write("Test", 5) != -1) { |
jengbrecht | 0:563b70517320 | 102 | printf("Failed: bulk write() - overflow\n"); |
jengbrecht | 0:563b70517320 | 103 | failed++; |
jengbrecht | 0:563b70517320 | 104 | } |
jengbrecht | 0:563b70517320 | 105 | |
jengbrecht | 0:563b70517320 | 106 | //Test single read method |
jengbrecht | 0:563b70517320 | 107 | if (buffer->read() != 'T' || buffer->capacity() != 1) { |
jengbrecht | 0:563b70517320 | 108 | printf("Failed: single read()\n"); |
jengbrecht | 0:563b70517320 | 109 | failed++; |
jengbrecht | 0:563b70517320 | 110 | } |
jengbrecht | 0:563b70517320 | 111 | |
jengbrecht | 0:563b70517320 | 112 | //Test bulk read method |
jengbrecht | 0:563b70517320 | 113 | char data[5]; |
jengbrecht | 0:563b70517320 | 114 | if (buffer->read(data, 5) != 4 || data[0] != 'e' || data[1] != 's' || data[2] != 't' || data[3] != '\0') { |
jengbrecht | 0:563b70517320 | 115 | printf("Failed: bulk read()\n"); |
jengbrecht | 0:563b70517320 | 116 | failed++; |
jengbrecht | 0:563b70517320 | 117 | } |
jengbrecht | 0:563b70517320 | 118 | |
jengbrecht | 0:563b70517320 | 119 | //Test wrap write/read methods |
jengbrecht | 0:563b70517320 | 120 | tmp = buffer->write("AT", 2); |
jengbrecht | 0:563b70517320 | 121 | if (tmp != 3 || buffer->read() != 'A' || buffer->read() != 'T') { |
jengbrecht | 0:563b70517320 | 122 | printf("Failed: wrap write()/read()\n"); |
jengbrecht | 0:563b70517320 | 123 | failed++; |
jengbrecht | 0:563b70517320 | 124 | } |
jengbrecht | 0:563b70517320 | 125 | buffer->clear(); |
jengbrecht | 0:563b70517320 | 126 | |
jengbrecht | 0:563b70517320 | 127 | /* The next set of test are focused all on the attach methods */ |
jengbrecht | 0:563b70517320 | 128 | |
jengbrecht | 0:563b70517320 | 129 | //Test attach with greater than below level |
jengbrecht | 0:563b70517320 | 130 | buffer->attach(&callback, 3, Vars::GREATER); |
jengbrecht | 0:563b70517320 | 131 | buffer->write("ABC", 3); |
jengbrecht | 0:563b70517320 | 132 | if (capacity != 0) { |
jengbrecht | 0:563b70517320 | 133 | printf("Failed: attach() - greater/below\n"); |
jengbrecht | 0:563b70517320 | 134 | failed++; |
jengbrecht | 0:563b70517320 | 135 | } |
jengbrecht | 0:563b70517320 | 136 | |
jengbrecht | 0:563b70517320 | 137 | //Test attach with greater than above level |
jengbrecht | 0:563b70517320 | 138 | buffer->write('T'); |
jengbrecht | 0:563b70517320 | 139 | if (capacity != 1) { |
jengbrecht | 0:563b70517320 | 140 | printf("Failed: attach() - greater/above\n"); |
jengbrecht | 0:563b70517320 | 141 | failed++; |
jengbrecht | 0:563b70517320 | 142 | } |
jengbrecht | 0:563b70517320 | 143 | buffer->clear(); |
jengbrecht | 0:563b70517320 | 144 | capacity = 0; |
jengbrecht | 0:563b70517320 | 145 | |
jengbrecht | 0:563b70517320 | 146 | //Test attach with greater equal than below level |
jengbrecht | 0:563b70517320 | 147 | buffer->attach(&callback, 3, Vars::GREATER_EQUAL); |
jengbrecht | 0:563b70517320 | 148 | buffer->write("AB", 2); |
jengbrecht | 0:563b70517320 | 149 | if (capacity != 0) { |
jengbrecht | 0:563b70517320 | 150 | printf("Failed: attach() - greater equal/below\n"); |
jengbrecht | 0:563b70517320 | 151 | failed++; |
jengbrecht | 0:563b70517320 | 152 | } |
jengbrecht | 0:563b70517320 | 153 | |
jengbrecht | 0:563b70517320 | 154 | //Test attach with greater equal than above level |
jengbrecht | 0:563b70517320 | 155 | buffer->write('T'); |
jengbrecht | 0:563b70517320 | 156 | if (capacity != 2) { |
jengbrecht | 0:563b70517320 | 157 | printf("Failed: attach() - greater equal/above\n"); |
jengbrecht | 0:563b70517320 | 158 | failed++; |
jengbrecht | 0:563b70517320 | 159 | } |
jengbrecht | 0:563b70517320 | 160 | |
jengbrecht | 0:563b70517320 | 161 | //Test attach with less than above level |
jengbrecht | 0:563b70517320 | 162 | buffer->clear(); |
jengbrecht | 0:563b70517320 | 163 | buffer->write("ABC", 3); |
jengbrecht | 0:563b70517320 | 164 | capacity = 0; |
jengbrecht | 0:563b70517320 | 165 | buffer->attach(&callback, 2, Vars::LESS); |
jengbrecht | 0:563b70517320 | 166 | buffer->read(); |
jengbrecht | 0:563b70517320 | 167 | if (capacity != 0) { |
jengbrecht | 0:563b70517320 | 168 | printf("Failed: attach() - less_equal/above\n"); |
jengbrecht | 0:563b70517320 | 169 | failed++; |
jengbrecht | 0:563b70517320 | 170 | } |
jengbrecht | 0:563b70517320 | 171 | |
jengbrecht | 0:563b70517320 | 172 | //Test attach with less than below level |
jengbrecht | 0:563b70517320 | 173 | buffer->read(); |
jengbrecht | 0:563b70517320 | 174 | if (capacity != 4) { |
jengbrecht | 0:563b70517320 | 175 | printf("Failed: attach() - less_equal/below%d\n", capacity); |
jengbrecht | 0:563b70517320 | 176 | failed++; |
jengbrecht | 0:563b70517320 | 177 | } |
jengbrecht | 0:563b70517320 | 178 | |
jengbrecht | 0:563b70517320 | 179 | //Test attach with less equal than above level |
jengbrecht | 0:563b70517320 | 180 | buffer->clear(); |
jengbrecht | 0:563b70517320 | 181 | buffer->write("Test", 4); |
jengbrecht | 0:563b70517320 | 182 | capacity = 0; |
jengbrecht | 0:563b70517320 | 183 | buffer->attach(&callback, 2, Vars::LESS_EQUAL); |
jengbrecht | 0:563b70517320 | 184 | buffer->read(); |
jengbrecht | 0:563b70517320 | 185 | if (capacity != 0) { |
jengbrecht | 0:563b70517320 | 186 | printf("Failed: attach() - less equal/above\n"); |
jengbrecht | 0:563b70517320 | 187 | failed++; |
jengbrecht | 0:563b70517320 | 188 | } |
jengbrecht | 0:563b70517320 | 189 | |
jengbrecht | 0:563b70517320 | 190 | //Test attach with less equal than below level |
jengbrecht | 0:563b70517320 | 191 | buffer->read(); |
jengbrecht | 0:563b70517320 | 192 | if (capacity != 3) { |
jengbrecht | 0:563b70517320 | 193 | printf("Failed: attach() - less equal/below%d\n", capacity); |
jengbrecht | 0:563b70517320 | 194 | failed++; |
jengbrecht | 0:563b70517320 | 195 | } |
jengbrecht | 0:563b70517320 | 196 | |
jengbrecht | 0:563b70517320 | 197 | //Test attach with less equal than above level |
jengbrecht | 0:563b70517320 | 198 | buffer->clear(); |
jengbrecht | 0:563b70517320 | 199 | buffer->write("Test", 4); |
jengbrecht | 0:563b70517320 | 200 | capacity = 0; |
jengbrecht | 0:563b70517320 | 201 | buffer->attach(&callback, 2, Vars::EQUAL); |
jengbrecht | 0:563b70517320 | 202 | buffer->read(); |
jengbrecht | 0:563b70517320 | 203 | if (capacity != 0) { |
jengbrecht | 0:563b70517320 | 204 | printf("Failed: attach() - equal/above\n"); |
jengbrecht | 0:563b70517320 | 205 | failed++; |
jengbrecht | 0:563b70517320 | 206 | } |
jengbrecht | 0:563b70517320 | 207 | |
jengbrecht | 0:563b70517320 | 208 | //Test attach with less equal than below level |
jengbrecht | 0:563b70517320 | 209 | buffer->read(); |
jengbrecht | 0:563b70517320 | 210 | if (capacity != 3) { |
jengbrecht | 0:563b70517320 | 211 | printf("Failed: attach() - equal/below%d\n", capacity); |
jengbrecht | 0:563b70517320 | 212 | failed++; |
jengbrecht | 0:563b70517320 | 213 | } |
jengbrecht | 0:563b70517320 | 214 | |
jengbrecht | 0:563b70517320 | 215 | return failed; |
jengbrecht | 0:563b70517320 | 216 | } |
jengbrecht | 0:563b70517320 | 217 | |
jengbrecht | 0:563b70517320 | 218 | |
jengbrecht | 0:563b70517320 | 219 | |
jengbrecht | 0:563b70517320 | 220 | |
jengbrecht | 0:563b70517320 | 221 | |
jengbrecht | 0:563b70517320 | 222 | #endif /* TESTMTSCIRCULARBUFFER_H */ |