blob: 771eba02b1c6d8855b83049cad8fc6bd6247611e [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2013 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:
* Juergen Haug (initial contribution)
*
*******************************************************************************/
#include "AddressTest.h"
#include "common/messaging/Address.h"
#include "etUnit/etUnit.h"
using namespace etRuntime;
void AddressTest::testConstructors() {
const char* failMsg = "Address constructor test failed";
// Test Constructor Address(void)
Address addr1;
EXPECT_EQUAL_INT16(m_caseId, failMsg, 0, addr1.m_nodeID);
EXPECT_EQUAL_INT16(m_caseId, failMsg, 0, addr1.m_threadID);
EXPECT_EQUAL_INT16(m_caseId, failMsg, 0, addr1.m_objectID);
// Test Constructor Address(int nodem_caseId, int threadm_caseId, int objectID)
Address addr2(1, 2, 3);
EXPECT_EQUAL_INT16(m_caseId, failMsg, 1, addr2.m_nodeID);
EXPECT_EQUAL_INT16(m_caseId, failMsg, 2, addr2.m_threadID);
EXPECT_EQUAL_INT16(m_caseId, failMsg, 3, addr2.m_objectID);
// Test Constuctor Address(const Address& right)
Address addr3(addr2);
EXPECT_EQUAL_INT16(m_caseId, failMsg, addr2.m_nodeID, addr3.m_nodeID);
EXPECT_EQUAL_INT16(m_caseId, failMsg, addr2.m_threadID, addr3.m_threadID);
EXPECT_EQUAL_INT16(m_caseId, failMsg, addr2.m_objectID, addr3.m_objectID);
}
void AddressTest::testOperators() {
const char* failMsg = "Address operator test failed";
// Test operator==
Address addr1(1, 2, 3);
Address addr2(1, 2, 3);
Address addr3(1, 2, 4);
Address addr4(1, 4, 3);
Address addr5(4, 2, 3);
EXPECT_TRUE(m_caseId, failMsg, addr1 == addr2);
EXPECT_FALSE(m_caseId, failMsg, addr1 == addr3);
EXPECT_FALSE(m_caseId, failMsg, addr1 == addr4);
EXPECT_FALSE(m_caseId, failMsg, addr1 == addr5);
// Test operator!=
EXPECT_FALSE(m_caseId, failMsg, addr1 != addr2);
EXPECT_TRUE(m_caseId, failMsg, addr1 != addr3);
EXPECT_TRUE(m_caseId, failMsg, addr1 != addr4);
EXPECT_TRUE(m_caseId, failMsg, addr1 != addr5);
// Test operator=
Address addr6(1, 2, 3);
Address addr7 = addr6;
EXPECT_TRUE(m_caseId, failMsg, addr6 == addr7);
// Test operator<
Address addr8(1, 2, 3);
Address addr9(1, 2, 4);
Address addr10(1, 3, 3);
Address addr11(2, 2, 3);
EXPECT_TRUE(m_caseId, failMsg, addr8 < addr9);
EXPECT_FALSE(m_caseId, failMsg, addr9 < addr8);
EXPECT_TRUE(m_caseId, failMsg, addr8 < addr10);
EXPECT_FALSE(m_caseId, failMsg, addr10 < addr8);
EXPECT_TRUE(m_caseId, failMsg, addr8 < addr11);
EXPECT_FALSE(m_caseId, failMsg, addr11 < addr8);
}
void AddressTest::testToString() {
}
void AddressTest::testToID() {
// Test toID()
Address addr(1, 2, 3);
EXPECT_TRUE(m_caseId, "Address toID test failed", !addr.toID().compare("1_2_3"));
}
void AddressTest::testCreateInc() {
// Test CreateInc()
Address addr(1, 2, 3);
EXPECT_TRUE(m_caseId, "Address CreateInc test failed",
addr.createInc() == Address(1, 2, 4));
}
void AddressTest::testIsValid() {
const char* failMsg = "Address IsValid test failed";
// Test IsValid()
Address addr1;
Address addr2(1, 2, 3);
EXPECT_FALSE(m_caseId, failMsg, addr1.isValid());
EXPECT_TRUE(m_caseId, failMsg, addr2.isValid());
}
void AddressTest::runAllTestCases() {
ADD_TESTCASE_CPP(testConstructors)
ADD_TESTCASE_CPP(testOperators)
// ADD_TESTCASE(testToString)
ADD_TESTCASE_CPP(testToID)
ADD_TESTCASE_CPP(testCreateInc)
ADD_TESTCASE_CPP(testIsValid)
}