Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: ea1ae065b35ac23f39aeb0e4d141c8f42582c83d (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
/*******************************************************************************
 * 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 "MSCLoggerTest.h"
#include "common/debugging/MSCLogger.h"
#include "etUnit/etUnit.h"
#include <stdio.h>
#include <string.h>

using namespace etRuntime;

void MSCLoggerTest::testLogger() {

	MSCLogger logger;
	logger.setMSC("MSCTest", "log/testlog/");
	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";
	std::list<std::string>& result = logger.getCommandList();

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

}

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

Back to the top