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

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?

UserRevisionLine numberNew 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 */