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.

Test/TestMTSCircularBuffer.h

Committer:
Mike Fiore
Date:
2014-05-19
Revision:
5:48d0ea2fe332
Parent:
3:08a693917d8c

File content as of revision 5:48d0ea2fe332:

#ifndef TESTMTSCIRCULARBUFFER_H
#define TESTMTSCIRCULARBUFFER_H

#include "MTSCircularBuffer.h"


/* unit tests for the circular buffer class */

using namespace mts;

class TestMTSCircularBuffer : public TestCollection
{
public:
    TestMTSCircularBuffer();
    virtual void run();
private:
    int capacity;
    MTSCircularBuffer buffer;
};

TestMTSCircularBuffer::TestMTSCircularBuffer() : TestCollection("MTSCircularBuffer"), capacity(0), buffer(5)
{
}

void TestMTSCircularBuffer::run()
{
    //Testing capacity method
    Test::start("capacity method");
    Test::assertTrue(buffer.capacity() == 5);
    Test::end();

    //Testing getSize method
    Test::start("size method");
    Test::assertTrue(buffer.size() == 0);
    buffer.write('A');
    Test::assertTrue(buffer.size() == 1);
    buffer.clear();
    Test::end();

    //Testing clear method
    Test::start("clear method");
    buffer.write("AT", 2);
    buffer.clear();
    Test::assertTrue(buffer.size() == 0);
    Test::end();
    
    //Test isEmpty method
    Test::start("isEmpty method");
    Test::assertTrue(buffer.isEmpty());
    buffer.write('A');
    Test::assertFalse(buffer.isEmpty());
    Test::end();
    
    //Test isFull method
    Test::start("isFull method");
    Test::assertFalse(buffer.isFull());
    buffer.write("12345", 5);
    Test::assertTrue(buffer.isFull());
    buffer.clear();
    Test::end();
}

#endif /* TESTMTSCIRCULARBUFFER_H */