Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: ea26225b89073ddcc10af0ec30e9f517300e380b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/*******************************************************************************
 * 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 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * CONTRIBUTORS:
 * 		Jan Belle (initial contribution)
 *
 *******************************************************************************/

#include "MSCLoggerTest.h"
#include "common/debugging/MSCLogger.h"
#include "etUnit/etUnit.h"

using namespace etRuntime;

void MSCLoggerTest::testLogger() {

	MSCLogger logger;
	logger.setMSC("MSCTest", "log/");
	logger.open();
	logger.addMessageAsyncOut("Source", "Target", "MessageAsync");
	logger.addMessageAsyncIn("Source", "Target", "MessageAsync");
	logger.addMessageSyncCall("Source", "Target", "MessageSyncCall");
	logger.addMessageSyncReturn("Source", "Target", "MessageSyncReturn");
	logger.addMessageActorCreate("Source", "Target");
	logger.addMessageActorDestroy("Source", "Target");
	logger.addNote("Actor", "Note");
	logger.addMessageCreate("Source", "Target");
	logger.addActorState("Actor", "State");
	logger.addVisibleComment("This is a comment");
	logger.close();

	const char* failMsg = "MSCLoggerTest failed";
	Vector<String>& result = logger.getCommandList();
	Vector<String>::iterator it = result.begin();

	EXPECT_TRUE(m_caseId, failMsg,
			!(*it).compare("\tSource >-- Target MessageAsync"));
	++it;
	EXPECT_TRUE(m_caseId, failMsg,
			!(*it).compare("\tSource --> Target MessageAsync"));
	++it;
	EXPECT_TRUE(m_caseId, failMsg,
			!(*it).compare("\tSource ==> Target MessageSyncCall"));
	++it;
	EXPECT_TRUE(m_caseId, failMsg,
			!(*it).compare("\tSource <== Target MessageSyncReturn"));
	++it;
	EXPECT_TRUE(m_caseId, failMsg,
			!(*it).compare("\tSource (!) Target "));
	++it;
	EXPECT_TRUE(m_caseId, failMsg,
			!(*it).compare("\tSource (X) Target "));
	++it;
	EXPECT_TRUE(m_caseId, failMsg,
			!(*it).compare("\tActor note: Note"));
	++it;
	EXPECT_TRUE(m_caseId, failMsg,
			!(*it).compare("\tSource (!) Target "));
	++it;
	EXPECT_TRUE(m_caseId, failMsg,
			!(*it).compare("\tActor >>> State"));
	++it;
	EXPECT_TRUE(m_caseId, failMsg,
			!(*it).compare("# This is a comment"));
	++it;

}

void MSCLoggerTest::runAllTestCases() {
	ADD_TESTCASE_CPP(testLogger)
}

Back to the top