blob: db8c29d032f153b6146319ea5d3c320e7ae8bede [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2016 protos software gmbh (http://www.protos.de).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* CONTRIBUTORS:
* Jan Belle (initial contribution)
*
*******************************************************************************/
#include "messaging/MessageTest.h"
#include "etUnit/etUnit.h"
#include "common/messaging/Address.h"
#include "common/messaging/Message.h"
using namespace etRuntime;
void MessageTest::testConstructors() {
const char *failMsg = "Message constructor test failed";
Address addr(1, 2, 3);
int data = 128;
// Test constructor Message(const Address& addr, int evtId)
Message msg1(addr, 1);
EXPECT_TRUE(m_caseId, failMsg, msg1.getAddress() == addr);
EXPECT_EQUAL_INT16(m_caseId, failMsg, 1, msg1.getEvtId());
EXPECT_EQUAL_PTR(m_caseId, failMsg, 0, msg1.getData());
// Test constructor Message(const Address& addr, int evtm_caseId, void* dataPtr)
Message msg2(addr, 1, &data);
EXPECT_TRUE(m_caseId, failMsg, msg2.getAddress() == addr);
EXPECT_EQUAL_INT16(m_caseId, failMsg, 1, msg2.getEvtId());
EXPECT_EQUAL_PTR(m_caseId, failMsg, &data, msg2.getData());
// Test constructor Message(const Address& addr, int evtm_caseId, const void* dataToCopy, std::size_t dataSize)
Message msg3(addr, 1, &data, sizeof(int));
EXPECT_TRUE(m_caseId, failMsg, msg3.getAddress() == addr);
EXPECT_EQUAL_INT16(m_caseId, failMsg, 1, msg3.getEvtId());
EXPECT_TRUE(m_caseId, failMsg,
*(static_cast<int*>(msg3.getData())) == data);
}
void MessageTest::testGetters() {
const char *failMsg = "Message getter test failed";
Address addr(1, 2, 3);
int data = 128;
Message msg(addr, 1, &data);
// Test getAddress()
EXPECT_TRUE(m_caseId, failMsg, msg.getAddress() == addr);
// Test getEvtId()
EXPECT_EQUAL_INT16(m_caseId, failMsg, 1, msg.getEvtId());
// Test getData()
EXPECT_TRUE(m_caseId, failMsg, *(static_cast<int*>(msg.getData())) == data);
}
void MessageTest::testToString() {
Address addr(1, 2, 3);
Message msg(addr, 1);
EXPECT_TRUE(m_caseId, "Message toString test failed",
!msg.toString().compare("Message(1_2_3, evt=1)"));
}
void MessageTest::runAllTestCases() {
ADD_TESTCASE_CPP(testConstructors)
ADD_TESTCASE_CPP(testGetters)
ADD_TESTCASE_CPP(testToString)
}