aboutsummaryrefslogtreecommitdiff
path: root/Arduino/Tests
diff options
context:
space:
mode:
authorBrad Luyster <BradLuyster+git@gmail.com>2012-05-11 19:21:30 -0400
committerBrad Luyster <BradLuyster+git@gmail.com>2012-05-11 19:21:30 -0400
commit9c96fa015ee8c80e9ab48154c4ecc4fbcfe13087 (patch)
treed3129f21ebe1a02ab0e3722edb01e37e8d4b2158 /Arduino/Tests
Initial Commit
Diffstat (limited to 'Arduino/Tests')
-rw-r--r--Arduino/Tests/arduinoTests.ino185
1 files changed, 185 insertions, 0 deletions
diff --git a/Arduino/Tests/arduinoTests.ino b/Arduino/Tests/arduinoTests.ino
new file mode 100644
index 0000000..653ae5f
--- /dev/null
+++ b/Arduino/Tests/arduinoTests.ino
@@ -0,0 +1,185 @@
+#include <Queue.h>
+
+/*
+ Blink
+ Turns on an LED on for one second, then off for one second, repeatedly.
+
+ This example code is in the public domain.
+ */
+
+void setup() {
+ // initialize the digital pin as an output.
+ // Pin 13 has an LED connected on most Arduino boards:
+ pinMode(13, OUTPUT);
+ Serial.begin(9600);
+ Serial.println("Alive");
+
+ int testStatus = 0;
+ testStatus |= test_addTooMany();
+ testStatus |= test_removeNonExistent();
+ testStatus |= test_tooManyCharacters();
+ testStatus |= test_changeNonExistent();
+ testStatus |= test_runEmpty();
+
+ if(testStatus == 0)
+ {
+ Serial.println("All tests passed.");
+ } else {
+ Serial.println("Something Failed.");
+ }
+
+}
+
+void loop() {
+ delay(1000);
+}
+
+int testFunction(unsigned long now)
+{
+ Serial.print("Hello: ");
+ Serial.print(now);
+ Serial.println();
+}
+
+int test_addTooMany(void)
+{
+ Queue testQueue;
+ int rv;
+ int testStatus = 0;
+ rv = testQueue.scheduleFunction(testFunction, "Test1", 5000, 1000);
+ if(rv != 0)
+ {
+ Serial.println("test_addTooMany failed.");
+ testStatus = -1;
+ }
+ rv = testQueue.scheduleFunction(testFunction, "Test2", 5000, 1000);
+ if(rv != 0)
+ {
+ Serial.println("test_addTooMany failed.");
+ testStatus = -1;
+ }
+ rv = testQueue.scheduleFunction(testFunction, "Test3", 5000, 1000);
+ if(rv != 0)
+ {
+ Serial.println("test_addTooMany failed.");
+ testStatus = -1;
+ }
+ rv = testQueue.scheduleFunction(testFunction, "Test4", 5000, 1000);
+ if(rv != 0)
+ {
+ Serial.println("test_addTooMany failed.");
+ testStatus = -1;
+ }
+ rv = testQueue.scheduleFunction(testFunction, "Test5", 5000, 1000);
+ if(rv != 0)
+ {
+ Serial.println("test_addTooMany failed.");
+ testStatus = -1;
+ }
+ rv = testQueue.scheduleFunction(testFunction, "Test6", 5000, 1000);
+ if(rv != 0)
+ {
+ Serial.println("test_addTooMany failed.");
+ testStatus = -1;
+ }
+ rv = testQueue.scheduleFunction(testFunction, "Test7", 5000, 1000);
+ if(rv != 0)
+ {
+ Serial.println("test_addTooMany failed.");
+ testStatus = -1;
+ }
+ rv = testQueue.scheduleFunction(testFunction, "Test8", 5000, 1000);
+ if(rv != 0)
+ {
+ Serial.println("test_addTooMany failed.");
+ testStatus = -1;
+ }
+ rv = testQueue.scheduleFunction(testFunction, "Test9", 5000, 1000);
+ if(rv != 0)
+ {
+ Serial.println("test_addTooMany failed.");
+ testStatus = -1;
+ }
+ rv = testQueue.scheduleFunction(testFunction, "Test10", 5000, 1000);
+ if(rv != 0)
+ {
+ Serial.println("test_addTooMany failed.");
+ testStatus = -1;
+ }
+ rv = testQueue.scheduleFunction(testFunction, "Test11", 5000, 1000);
+ if(rv != -1)
+ {
+ Serial.println("test_addTooMany failed.");
+ testStatus = -1;
+ }
+
+ return testStatus;
+}
+
+int test_removeNonExistent(void)
+{
+ Queue testQueue;
+ int rv;
+ int testStatus = 0;
+ rv = testQueue.scheduleFunction(testFunction, "Test", 5000, 1000);
+ if(rv != 0)
+ {
+ Serial.println("test_removeNonExistent failed.");
+ testStatus = -1;
+ }
+ rv = testQueue.scheduleRemoveFunction("Fail");
+ if(rv != -1)
+ {
+ Serial.println("test_removeNonExistent failed.");
+ testStatus = -1;
+ }
+ return testStatus;
+}
+
+int test_tooManyCharacters(void)
+{
+ Queue testQueue;
+ int rv;
+ int testStatus = 0;
+ rv = testQueue.scheduleFunction(testFunction, "ReallyLongName", 5000, 1000);
+ if(rv != -1)
+ {
+ Serial.println("test_tooManyCharacters failed.");
+ testStatus = -1;
+ }
+ return testStatus;
+}
+
+int test_changeNonExistent(void)
+{
+ Queue testQueue;
+ int rv;
+ int testStatus = 0;
+ rv = testQueue.scheduleFunction(testFunction, "Test", 5000, 1000);
+ if(rv != 0)
+ {
+ Serial.println("test_changeNonExistent failed.");
+ testStatus = -1;
+ }
+ rv = testQueue.scheduleChangeFunction("Fail", 1000, 1000);
+ if(rv != -1)
+ {
+ Serial.println("test_changeNonExistent failed.");
+ testStatus = -1;
+ }
+ return testStatus;
+}
+
+int test_runEmpty(void)
+{
+ Queue myQueue;
+ int rv = 0;
+ int testStatus = 0;
+ rv = myQueue.Run(10);
+ if (rv != -1)
+ {
+ Serial.println("test_runEmpty failed.");
+ testStatus = -1;
+ }
+ return testStatus;
+} \ No newline at end of file