From 415aed4549543fc1332e3fc6124eb2d69ab924b1 Mon Sep 17 00:00:00 2001
From: Zoe Pfister <zoe.pfister@student.uibk.ac.at>
Date: Wed, 31 Aug 2022 16:00:56 +0200
Subject: [PATCH] add message tests

---
 client/client/test/TestESPNow.cpp  | 12 ++++++++++++
 client/client/test/TestESPNow.hpp  |  6 ++++++
 client/client/test/TestMessage.cpp | 24 ++++++++++++++++++++++++
 client/client/test/TestMessage.hpp |  8 ++++++++
 client/client/test/main.cpp        | 17 +++++++++++++++++
 5 files changed, 67 insertions(+)
 create mode 100644 client/client/test/TestESPNow.cpp
 create mode 100644 client/client/test/TestESPNow.hpp
 create mode 100644 client/client/test/TestMessage.cpp
 create mode 100644 client/client/test/TestMessage.hpp
 create mode 100644 client/client/test/main.cpp

diff --git a/client/client/test/TestESPNow.cpp b/client/client/test/TestESPNow.cpp
new file mode 100644
index 0000000..3a4c149
--- /dev/null
+++ b/client/client/test/TestESPNow.cpp
@@ -0,0 +1,12 @@
+#include "TestESPNow.hpp"
+
+void test_on_data_recv_valid_config()
+{
+	uint8_t mac_addr[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+	int len = 0;
+	config conf = {host : {0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA}, time_millis : 0};
+
+	// preferences / hostinfo would need to be global for this to work
+
+	TEST_FAIL();
+}
diff --git a/client/client/test/TestESPNow.hpp b/client/client/test/TestESPNow.hpp
new file mode 100644
index 0000000..a2512b2
--- /dev/null
+++ b/client/client/test/TestESPNow.hpp
@@ -0,0 +1,6 @@
+#pragma once
+#include <Arduino.h>
+#include <ESPNow.hpp>
+#include <unity.h>
+
+void test_on_data_recv_valid_config();
\ No newline at end of file
diff --git a/client/client/test/TestMessage.cpp b/client/client/test/TestMessage.cpp
new file mode 100644
index 0000000..56b7ccc
--- /dev/null
+++ b/client/client/test/TestMessage.cpp
@@ -0,0 +1,24 @@
+#include "TestMessage.hpp"
+
+void test_on_data_recv()
+{
+	Message message = Message{};
+
+	TEST_ASSERT_EQUAL(0, message.getData().amountData);
+}
+
+void test_new_message_filled()
+{
+	Message message = Message{};
+
+	message.add_data(1.1, 0);
+	message.add_data(1.2, 1);
+	message.add_data(1.3, 2);
+
+	float expectedValuesArray[] = {1.1, 1.2, 1.3};
+	int expectedIdentifiersArray[] = {0, 1, 2};
+
+	TEST_ASSERT_EQUAL(3, message.getData().amountData);
+	TEST_ASSERT_EQUAL_FLOAT_ARRAY(expectedValuesArray, message.getData().values, 3);
+	TEST_ASSERT_EQUAL_INT_ARRAY(expectedIdentifiersArray, message.getData().identifiers, 3);
+}
\ No newline at end of file
diff --git a/client/client/test/TestMessage.hpp b/client/client/test/TestMessage.hpp
new file mode 100644
index 0000000..80d5be0
--- /dev/null
+++ b/client/client/test/TestMessage.hpp
@@ -0,0 +1,8 @@
+#pragma once
+#include <Arduino.h>
+#include <ESPNow.hpp>
+#include <unity.h>
+
+void test_on_data_recv();
+
+void test_new_message_filled();
\ No newline at end of file
diff --git a/client/client/test/main.cpp b/client/client/test/main.cpp
new file mode 100644
index 0000000..82d6881
--- /dev/null
+++ b/client/client/test/main.cpp
@@ -0,0 +1,17 @@
+#include "TestESPNow.hpp"
+#include "TestMessage.hpp"
+#include <Arduino.h>
+#include <unity.h>
+
+void setup()
+{
+	delay(2000); // service delay
+
+	UNITY_BEGIN();
+	RUN_TEST(test_on_data_recv_valid_config);
+	RUN_TEST(test_on_data_recv);
+	RUN_TEST(test_new_message_filled);
+	UNITY_END();
+}
+
+void loop() {}
\ No newline at end of file
-- 
GitLab