MultiTech / MTS-Utils

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

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers TestMTSCircularBuffer.h Source File

TestMTSCircularBuffer.h

00001 #ifndef TESTMTSCIRCULARBUFFER_H
00002 #define TESTMTSCIRCULARBUFFER_H
00003 
00004 #include "MTSCircularBuffer.h"
00005 
00006 
00007 /* unit tests for the circular buffer class */
00008 
00009 using namespace mts;
00010 
00011 class TestMTSCircularBuffer : public TestCollection
00012 {
00013 public:
00014     TestMTSCircularBuffer();
00015     virtual void run();
00016 private:
00017     int capacity;
00018     MTSCircularBuffer buffer;
00019 };
00020 
00021 TestMTSCircularBuffer::TestMTSCircularBuffer() : TestCollection("MTSCircularBuffer"), capacity(0), buffer(5)
00022 {
00023 }
00024 
00025 void TestMTSCircularBuffer::run()
00026 {
00027     //Testing capacity method
00028     Test::start("capacity method");
00029     Test::assertTrue(buffer.capacity() == 5);
00030     Test::end();
00031 
00032     //Testing getSize method
00033     Test::start("size method");
00034     Test::assertTrue(buffer.size() == 0);
00035     buffer.write('A');
00036     Test::assertTrue(buffer.size() == 1);
00037     buffer.clear();
00038     Test::end();
00039 
00040     //Testing clear method
00041     Test::start("clear method");
00042     buffer.write("AT", 2);
00043     buffer.clear();
00044     Test::assertTrue(buffer.size() == 0);
00045     Test::end();
00046     
00047     //Test isEmpty method
00048     Test::start("isEmpty method");
00049     Test::assertTrue(buffer.isEmpty());
00050     buffer.write('A');
00051     Test::assertFalse(buffer.isEmpty());
00052     Test::end();
00053     
00054     //Test isFull method
00055     Test::start("isFull method");
00056     Test::assertFalse(buffer.isFull());
00057     buffer.write("12345", 5);
00058     Test::assertTrue(buffer.isFull());
00059     buffer.clear();
00060     Test::end();
00061 }
00062 
00063 #endif /* TESTMTSCIRCULARBUFFER_H */