diff --git a/quad/src/computation_graph/test/test_computation_graph.c b/quad/src/computation_graph/test/test_computation_graph.c
index 30f977ed817dbea8d1125395988343857f3df25d..fdd187756cdbe6a49b5649bea2d55b3cc30b6ae2 100644
--- a/quad/src/computation_graph/test/test_computation_graph.c
+++ b/quad/src/computation_graph/test/test_computation_graph.c
@@ -4,8 +4,6 @@
 #include "computation_graph.h"
 #include "graph_blocks.h"
 
-#define UNITY_INCLUDE_CONFIG_H
-
 #define GRAPH_TEST_EPS 0.00001
 
 
diff --git a/quad/src/quad_app/test/test_quad_app.c b/quad/src/quad_app/test/test_quad_app.c
index 8c9a45deada50d444eeac0b5996ff285d8656984..d464d5594a204c1494ec7ebe1b98016b1e033993 100644
--- a/quad/src/quad_app/test/test_quad_app.c
+++ b/quad/src/quad_app/test/test_quad_app.c
@@ -1,7 +1,7 @@
 #include "communication.h"
 #include <string.h>
 #include "queue.h"
-#include "test.h"
+#include "unity.h"
 
 struct Queue *queue;
 struct UARTDriver *uart;
@@ -67,8 +67,11 @@ extern u8 packet[MAX_PACKET_SIZE];
 extern int bytes_recv;
 extern unsigned char packet_checksum;
 
+
+/*--------- TESTS ---------*/
+
 // Test fails when no BE and run out
-int test_try_receive_packet_fails_when_no_BE_and_run_out() {
+void test_try_receive_packet_fails_when_no_BE_and_run_out() {
   bytes_recv = 0;
   uart = mock_uart_malloc();
   queue = queue_malloc(5);
@@ -76,35 +79,32 @@ int test_try_receive_packet_fails_when_no_BE_and_run_out() {
   queue_add(queue, 0);
   queue_add(queue, 1);
 
-  test_assert(try_receive_packet(uart));
-  test_assert(bytes_recv == 0);
+  TEST_ASSERT_EQUAL(-1, try_receive_packet(uart));
+  TEST_ASSERT_EQUAL(0, bytes_recv);
 
-  // Try again to verify that we actually ran out
-  test_assert(try_receive_packet(uart));
-  test_assert(bytes_recv == 0);
 
-  return 0;
+  // Try again to verify that we actually ran out
+  TEST_ASSERT_EQUAL(-1, try_receive_packet(uart));
+  TEST_ASSERT_EQUAL(0, bytes_recv);
 }
 
 // Test fails when no BE and too much (check resume)
-int test_try_receive_packet_fails_when_no_BE_and_too_much() {
+void test_try_receive_packet_fails_when_no_BE_and_too_much() {
   bytes_recv = 0;
   uart = mock_uart_malloc();
   int size = 255;
   queue = queue_malloc(size);
   queue_add_corruption(queue, size);
 
-  test_assert(try_receive_packet(uart));
-  test_assert(bytes_recv == 0);
+  TEST_ASSERT_EQUAL(-1, try_receive_packet(uart));
+  TEST_ASSERT_EQUAL(0, bytes_recv);
 
   // Ensure that we quit trying
-  test_assert(size - queue_size(queue) <= MAX_PACKET_SIZE);
-
-  return 0;
+  TEST_ASSERT_TRUE(size - queue_size(queue) <= MAX_PACKET_SIZE);
 }
 
 // Test fails when BE and run out (check resume)
-int test_try_receive_packet_fails_when_BE_and_run_out() {
+void test_try_receive_packet_fails_when_BE_and_run_out() {
   bytes_recv = 0;
   uart = mock_uart_malloc();
   queue = queue_malloc(100);
@@ -115,23 +115,18 @@ int test_try_receive_packet_fails_when_BE_and_run_out() {
   queue_add(queue, 2);
   queue_add(queue, 3);
 
-  test_assert(try_receive_packet(uart));
-  test_assert(bytes_recv == 4);
+  TEST_ASSERT_EQUAL(-1, try_receive_packet(uart));
+  TEST_ASSERT_EQUAL(4, bytes_recv);
 
-  test_assert(packet[0] == 0xBE);
-  test_assert(packet[1] == 1);
-  test_assert(packet[2] == 2);
-  test_assert(packet[3] == 3);
+  TEST_ASSERT_EQUAL_INT_ARRAY({0xBE, 1, 2, 3}, packet, 4);
 
   // Try again to verify that we actually ran out
-  test_assert(try_receive_packet(uart));
-  test_assert(bytes_recv == 4);
-
-  return 0;
+  TEST_ASSERT_EQUAL(-1, try_receive_packet(uart));
+  TEST_ASSERT_EQUAL(4, bytes_recv);
 }
 
 // Test fails when BE and nonsensical length (check resume)
-int test_try_receive_packet_fails_when_BE_and_big_length() {
+void test_try_receive_packet_fails_when_BE_and_big_length() {
   bytes_recv = 0;
   uart = mock_uart_malloc();
   queue = queue_malloc(500);
@@ -143,18 +138,16 @@ int test_try_receive_packet_fails_when_BE_and_big_length() {
   queue_add_short(queue, 500);
   for (i = 0; i < 10; i += 1) queue_add_corruption(queue, i);
 
-  test_assert(try_receive_packet(uart));
-  test_assert(bytes_recv == 0);
+  TEST_ASSERT_EQUAL(-1, try_receive_packet(uart));
+  TEST_ASSERT_EQUAL(0, bytes_recv);
 
   // Try again to verify that we actually ran out
-  test_assert(try_receive_packet(uart));
-  test_assert(bytes_recv == 0);
-
-  return 0;
+  TEST_ASSERT_EQUAL(-1, try_receive_packet(uart));
+  TEST_ASSERT_EQUAL(0, bytes_recv);
 }
 
 // Test fails when BE and length and run out (check resume)
-int test_try_receive_packet_fails_when_BE_length_and_run_out() {
+void test_try_receive_packet_fails_when_BE_length_and_run_out() {
   bytes_recv = 0;
   uart = mock_uart_malloc();
   queue = queue_malloc(500);
@@ -167,27 +160,17 @@ int test_try_receive_packet_fails_when_BE_length_and_run_out() {
   unsigned char data[4] = {1, 2, 3, 4};
   for (i = 0; i < 2; i += 1) queue_add(queue, data[i]);
 
-  test_assert(try_receive_packet(uart));
-  test_assert(bytes_recv == 9);
-  test_assert(packet[0] == 0xBE);
-  test_assert(packet[1] == 0);
-  test_assert(packet[2] == 0);
-  test_assert(packet[3] == 0);
-  test_assert(packet[4] == 0);
-  test_assert(packet[5] == 4);
-  test_assert(packet[6] == 0);
-  test_assert(packet[7] == 1);
-  test_assert(packet[8] == 2);
+  TEST_ASSERT_EQUAL(-1, try_receive_packet(uart));
+  TEST_ASSERT_EQUAL(9, bytes_recv);
+  TEST_ASSERT_EQUAL_INT_ARRAY({0xBE, 0, 0, 0, 0, 4, 0, 1, 2}, packet, 9);
 
   // Try again to verify that we actually ran out
-  test_assert(try_receive_packet(uart));
-  test_assert(bytes_recv == 9);
-
-  return 0;
+  TEST_ASSERT_EQUAL(-1, try_receive_packet(uart));
+  TEST_ASSERT_EQUAL(9, bytes_recv);
 }
 
 // Test fails when BE and length and data and run out (check resume)
-int test_try_receive_packet_fails_when_BE_length_data_and_run_out() {
+void test_try_receive_packet_fails_when_BE_length_data_and_run_out() {
   bytes_recv = 0;
   uart = mock_uart_malloc();
   queue = queue_malloc(500);
@@ -200,29 +183,17 @@ int test_try_receive_packet_fails_when_BE_length_data_and_run_out() {
   unsigned char data[4] = {1, 2, 3, 4};
   for (i = 0; i < 4; i += 1) queue_add(queue, data[i]);
 
-  test_assert(try_receive_packet(uart));
-  test_assert(bytes_recv == 11);
-  test_assert(packet[0] == 0xBE);
-  test_assert(packet[1] == 0);
-  test_assert(packet[2] == 0);
-  test_assert(packet[3] == 0);
-  test_assert(packet[4] == 0);
-  test_assert(packet[5] == 4);
-  test_assert(packet[6] == 0);
-  test_assert(packet[7] == 1);
-  test_assert(packet[8] == 2);
-  test_assert(packet[9] == 3);
-  test_assert(packet[10] == 4);
+  TEST_ASSERT_EQUAL(-1, try_receive_packet(uart));
+  TEST_ASSERT_EQUAL(11, bytes_recv);
+  TEST_ASSERT_EQUAL_INT_ARRAY({0xBE, 0, 0, 0, 0, 4, 0, 1, 2, 3, 4}, packet, 11);
 
   // Try again to verify that we actually ran out
-  test_assert(try_receive_packet(uart));
-  test_assert(bytes_recv == 11);
-
-  return 0;
+  TEST_ASSERT_EQUAL(-1, try_receive_packet(uart));
+  TEST_ASSERT_EQUAL(11, bytes_recv);
 }
 
 // Test fails when BE, length, data, and checksum fails
-int test_try_receive_packet_fails_when_BE_length_data_and_bad_checksum() {
+void test_try_receive_packet_fails_when_BE_length_data_and_bad_checksum() {
   bytes_recv = 0;
   uart = mock_uart_malloc();
   queue = queue_malloc(500);
@@ -237,58 +208,43 @@ int test_try_receive_packet_fails_when_BE_length_data_and_bad_checksum() {
   queue_add(queue, 0xFF); // bad checksum
   queue_add(queue, 0xBE); // next start
 
-  test_assert(try_receive_packet(uart));
-  test_assert(bytes_recv == 1);
-  test_assert(packet[0] == 0xBE);
+  TEST_ASSERT_EQUAL(-1, try_receive_packet(uart));
+  TEST_ASSERT_EQUAL(1, bytes_recv);
+  TEST_ASSERT_EQUAL(0xBE, packet[0]);
 
   // Try again to verify that we actually ran out
-  test_assert(try_receive_packet(uart));
-  test_assert(bytes_recv == 1);
-
-  return 0;
+  TEST_ASSERT_EQUAL(-1, try_receive_packet(uart));
+  TEST_ASSERT_EQUAL(1, bytes_recv);
 }
 
 // Test succeeds when BE, length, data, checksum
-int test_try_receive_packet_succeeds() {
+void test_try_receive_packet_succeeds() {
   bytes_recv = 0;
   uart = mock_uart_malloc();
   queue = queue_malloc(500);
   int i;
-  queue_add_corruption(queue, 10);;
+  queue_add_corruption(queue, 10);
   unsigned char data[4] = {1, 2, 3, 4};
   unsigned char checksum = queue_add_packet(queue, 0, 0, 4, data);
 
-  int failure = try_receive_packet(uart);
-  test_assert(!failure);
-  test_assert(bytes_recv == 12);
-  test_assert(packet[0] == 0xBE);
-  test_assert(packet[1] == 0);
-  test_assert(packet[2] == 0);
-  test_assert(packet[3] == 0);
-  test_assert(packet[4] == 0);
-  test_assert(packet[5] == 4);
-  test_assert(packet[6] == 0);
-  test_assert(packet[7] == 1);
-  test_assert(packet[8] == 2);
-  test_assert(packet[9] == 3);
-  test_assert(packet[10] == 4);
-  test_assert(packet[11] == checksum);
+  TEST_ASSERT_EQUAL(0, try_receive_packet(uart));
+  TEST_ASSERT_EQUAL(12, bytes_recv);
+  TEST_ASSERT_EQUAL_INT_ARRAY({0xBE, 0, 0, 0, 0, 4, 0, 1, 2, 3, 4, checksum}, packet, 12);
 
   // Try again to verify that we don't lose the ready packet
-  test_assert(!try_receive_packet(uart));
-  test_assert(bytes_recv == 12);
-
-  return 0;
+  TEST_ASSERT_EQUAL(0, try_receive_packet(uart));
+  TEST_ASSERT_EQUAL(12, bytes_recv);
 }
 
 int main() {
-  TEST(test_try_receive_packet_fails_when_no_BE_and_run_out);
-  TEST(test_try_receive_packet_fails_when_no_BE_and_too_much);
-  TEST(test_try_receive_packet_fails_when_BE_and_run_out);
-  TEST(test_try_receive_packet_fails_when_BE_and_big_length);
-  TEST(test_try_receive_packet_fails_when_BE_length_and_run_out);
-  TEST(test_try_receive_packet_fails_when_BE_length_data_and_run_out);
-  TEST(test_try_receive_packet_fails_when_BE_length_data_and_bad_checksum);
-  TEST(test_try_receive_packet_succeeds);
-  return test_summary();
+  UNITY_BEGIN();
+  RUN_TEST(test_try_receive_packet_fails_when_no_BE_and_run_out);
+  RUN_TEST(test_try_receive_packet_fails_when_no_BE_and_too_much);
+  RUN_TEST(test_try_receive_packet_fails_when_BE_and_run_out);
+  RUN_TEST(test_try_receive_packet_fails_when_BE_and_big_length);
+  RUN_TEST(test_try_receive_packet_fails_when_BE_length_and_run_out);
+  RUN_TEST(test_try_receive_packet_fails_when_BE_length_data_and_run_out);
+  RUN_TEST(test_try_receive_packet_fails_when_BE_length_data_and_bad_checksum);
+  RUN_TEST(test_try_receive_packet_succeeds);
+  return UNITY_END();
 }