Utility library for MTS Socket Modem Arduino Shield devices from Multi-Tech Systems

Dependents:   mtsas mtsas thermostat_fan_demo--fan mtsas ... more

NOTE: MTS-Utils has moved to GitHub. This version will not be updated. For updates, go to the GitHub version.

Committer:
Mike Fiore
Date:
Mon May 19 11:16:57 2014 -0500
Revision:
3:08a693917d8c
Child:
5:48d0ea2fe332
add MTSCircularBuffer and tests

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mike Fiore 3:08a693917d8c 1 #ifndef TESTMTSCIRCULARBUFFER_H
Mike Fiore 3:08a693917d8c 2 #define TESTMTSCIRCULARBUFFER_H
Mike Fiore 3:08a693917d8c 3
Mike Fiore 3:08a693917d8c 4 #include "MTSCircularBuffer.h"
Mike Fiore 3:08a693917d8c 5 #include "Vars.h"
Mike Fiore 3:08a693917d8c 6
Mike Fiore 3:08a693917d8c 7
Mike Fiore 3:08a693917d8c 8 /* unit tests for the circular buffer class */
Mike Fiore 3:08a693917d8c 9
Mike Fiore 3:08a693917d8c 10 using namespace mts;
Mike Fiore 3:08a693917d8c 11
Mike Fiore 3:08a693917d8c 12 class TestMTSCircularBuffer : public TestCollection
Mike Fiore 3:08a693917d8c 13 {
Mike Fiore 3:08a693917d8c 14 public:
Mike Fiore 3:08a693917d8c 15 TestMTSCircularBuffer();
Mike Fiore 3:08a693917d8c 16 virtual void run();
Mike Fiore 3:08a693917d8c 17 private:
Mike Fiore 3:08a693917d8c 18 int capacity;
Mike Fiore 3:08a693917d8c 19 MTSCircularBuffer buffer;
Mike Fiore 3:08a693917d8c 20 };
Mike Fiore 3:08a693917d8c 21
Mike Fiore 3:08a693917d8c 22 TestMTSCircularBuffer::TestMTSCircularBuffer() : TestCollection("MTSCircularBuffer"), capacity(0), buffer(5)
Mike Fiore 3:08a693917d8c 23 {
Mike Fiore 3:08a693917d8c 24 }
Mike Fiore 3:08a693917d8c 25
Mike Fiore 3:08a693917d8c 26 void TestMTSCircularBuffer::run()
Mike Fiore 3:08a693917d8c 27 {
Mike Fiore 3:08a693917d8c 28 //Testing capacity method
Mike Fiore 3:08a693917d8c 29 Test::start("capacity method");
Mike Fiore 3:08a693917d8c 30 Test::assertTrue(buffer.capacity() == 5);
Mike Fiore 3:08a693917d8c 31 Test::end();
Mike Fiore 3:08a693917d8c 32
Mike Fiore 3:08a693917d8c 33 //Testing getSize method
Mike Fiore 3:08a693917d8c 34 Test::start("size method");
Mike Fiore 3:08a693917d8c 35 Test::assertTrue(buffer.size() == 0);
Mike Fiore 3:08a693917d8c 36 buffer.write('A');
Mike Fiore 3:08a693917d8c 37 Test::assertTrue(buffer.size() == 1);
Mike Fiore 3:08a693917d8c 38 buffer.clear();
Mike Fiore 3:08a693917d8c 39 Test::end();
Mike Fiore 3:08a693917d8c 40
Mike Fiore 3:08a693917d8c 41 //Testing clear method
Mike Fiore 3:08a693917d8c 42 Test::start("clear method");
Mike Fiore 3:08a693917d8c 43 buffer.write("AT", 2);
Mike Fiore 3:08a693917d8c 44 buffer.clear();
Mike Fiore 3:08a693917d8c 45 Test::assertTrue(buffer.size() == 0);
Mike Fiore 3:08a693917d8c 46 Test::end();
Mike Fiore 3:08a693917d8c 47
Mike Fiore 3:08a693917d8c 48 //Test isEmpty method
Mike Fiore 3:08a693917d8c 49 Test::start("isEmpty method");
Mike Fiore 3:08a693917d8c 50 Test::assertTrue(buffer.isEmpty());
Mike Fiore 3:08a693917d8c 51 buffer.write('A');
Mike Fiore 3:08a693917d8c 52 Test::assertFalse(buffer.isEmpty());
Mike Fiore 3:08a693917d8c 53 Test::end();
Mike Fiore 3:08a693917d8c 54
Mike Fiore 3:08a693917d8c 55 //Test isFull method
Mike Fiore 3:08a693917d8c 56 Test::start("isFull method");
Mike Fiore 3:08a693917d8c 57 Test::assertFalse(buffer.isFull());
Mike Fiore 3:08a693917d8c 58 buffer.write("12345", 5);
Mike Fiore 3:08a693917d8c 59 Test::assertTrue(buffer.isFull());
Mike Fiore 3:08a693917d8c 60 buffer.clear();
Mike Fiore 3:08a693917d8c 61 Test::end();
Mike Fiore 3:08a693917d8c 62 }
Mike Fiore 3:08a693917d8c 63
Mike Fiore 3:08a693917d8c 64 #endif /* TESTMTSCIRCULARBUFFER_H */