|
From: <ma...@us...> - 2011-05-09 22:27:01
|
Revision: 1089
http://scstudio.svn.sourceforge.net/scstudio/?rev=1089&view=rev
Author: madzin
Date: 2011-05-09 22:26:55 +0000 (Mon, 09 May 2011)
Log Message:
-----------
Fix failed tests of membership absolut time. Absolute time is still not good tested
Modified Paths:
--------------
trunk/src/membership/membership_time.cpp
trunk/tests/membership/CMakeLists.txt
trunk/tests/membership/absolut_time_bmsc02_1.mpr
trunk/tests/membership/absolut_time_hmsc02.mpr
Modified: trunk/src/membership/membership_time.cpp
===================================================================
--- trunk/src/membership/membership_time.cpp 2011-05-09 21:57:12 UTC (rev 1088)
+++ trunk/src/membership/membership_time.cpp 2011-05-09 22:26:55 UTC (rev 1089)
@@ -348,14 +348,20 @@
//in case the absolut time constraints, it is necessary to compute interval
//TODO event has not to have list of the absolut times just one time constraints
if(c->get_absolut_time())
-{
+ {
+ if(first == NULL || second == NULL ||
+ first->get_absolut_times().size() == 0 || second->get_absolut_times().size() == 0)
+ {
+ return 3;
+ }
+
MscTimeIntervalSetD a = *(first->get_absolut_times().begin());
MscTimeIntervalSetD b = *(second->get_absolut_times().begin());
inter = get_continous_interval(c, a, b);
// inter = get_continous_interval(c, *(first->get_absolut_times().begin()), *(second->get_absolut_times().begin()));
std::cout << "time interval inter " << inter << std::endl;
-}
+ }
else
inter = c->get_time_matrix()->operator()(first, second);
@@ -413,6 +419,15 @@
{
bool time_node_b_id_set = true;
+ if((*it)->get_event_b() == NULL)
+ {
+ std::stringstream ss;
+ ss << (*it)->get_interval_set();
+ c->get_mem()->print_report(RS_ERROR, stringize() << L"Error: Unconnected time interval: "
+ << TOWSTRING(ss.str()) << L".");
+ return false;
+ }
+
//TODO i don't like it, probably better would be is_attribute_set or something similar
time_node_b_id = (*it)->get_event_b()->get_attribute("identification", -1, time_node_b_id_set);
Modified: trunk/tests/membership/CMakeLists.txt
===================================================================
--- trunk/tests/membership/CMakeLists.txt 2011-05-09 21:57:12 UTC (rev 1088)
+++ trunk/tests/membership/CMakeLists.txt 2011-05-09 22:26:55 UTC (rev 1089)
@@ -273,4 +273,4 @@
ADD_TEST(membership_test-121 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/absolut_time_hmsc02.mpr ${CMAKE_CURRENT_SOURCE_DIR}/absolut_time_bmsc02_1.mpr 1)
-ADD_TEST(membership_test-122 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/absolut_time_hmsc02.mpr ${CMAKE_CURRENT_SOURCE_DIR}/absolut_time_bmsc02_1.mpr 0)
+ADD_TEST(membership_test-122 ${MEMBERSHIP_TEST_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/absolut_time_hmsc02.mpr ${CMAKE_CURRENT_SOURCE_DIR}/absolut_time_bmsc02_2.mpr 0)
Modified: trunk/tests/membership/absolut_time_bmsc02_1.mpr
===================================================================
--- trunk/tests/membership/absolut_time_bmsc02_1.mpr 2011-05-09 21:57:12 UTC (rev 1088)
+++ trunk/tests/membership/absolut_time_bmsc02_1.mpr 2011-05-09 22:26:55 UTC (rev 1089)
@@ -7,6 +7,6 @@
endinstance;
B: instance;
out no,0 to A;
-time @[3];
+time [@3];
endinstance;
endmsc;
Modified: trunk/tests/membership/absolut_time_hmsc02.mpr
===================================================================
--- trunk/tests/membership/absolut_time_hmsc02.mpr 2011-05-09 21:57:12 UTC (rev 1088)
+++ trunk/tests/membership/absolut_time_hmsc02.mpr 2011-05-09 22:26:55 UTC (rev 1089)
@@ -9,6 +9,7 @@
inst A;
inst B;
A: instance;
+label e1;
in no,0 from B;
endinstance;
B: instance;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|