+#ifndef _TESTCLASS_HPP__
+#define _TESTCLASS_HPP__
+
+#include <iostream>
+#include <thread>
+#include <chrono>
+#include "TestClassInterface.hpp"
+
+using namespace std;
+
+class TestClass : public TestClassInterface {
+ public:
+ TestClass();
+ TestClass(int _int, float _float, string _string);
+
+ void setA(int _int);
+ void setB(float _float);
+ void setC(string _string);
+ string sumArray(vector<string> newA);
+ int setAndGetA(int newA);
+ int setACAndGetA(string newC, int newA);
+
+ private:
+ int intA;
+ float floatB;
+ string stringC;
+};
+
+
+TestClass::TestClass() {
+
+ intA = 1;
+ floatB = 2;
+ stringC = "345";
+ // cbvec doesn't need to be initialized again
+}
+
+
+TestClass::TestClass(int _int, float _float, string _string) {
+
+ intA = _int;
+ floatB = _float;
+ stringC = _string;
+ // cbvec doesn't need to be initialized again
+}
+
+
+void TestClass::setA(int _int) {
+
+ intA = _int;
+}
+
+
+void TestClass::setB(float _float) {
+
+ floatB = _float;
+}
+
+
+void TestClass::setC(string _string) {
+
+ stringC = _string;
+}
+
+
+string TestClass::sumArray(vector<string> newA) {
+
+ string sum = "";
+ int len = newA.size();
+ for(int c = 0; c < len; c++) {
+ sum = sum + newA[c];
+ }
+ return sum;
+}
+
+
+int TestClass::setAndGetA(int newA) {
+
+ intA = newA;
+ return intA;
+}
+
+
+int TestClass::setACAndGetA(string newC, int newA) {
+
+ stringC = newC;
+ intA = newA;
+ return intA;
+}
+
+#endif
+