# <copyright>
# 
# Copyright (c) 2008-2010 See4sys and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
# 
# Contributors: 
#     See4sys - Initial API and implementation
# 
# </copyright>

 assert_RunningTimeUnderLowerBound= Running time for context {0} = {1} ms, lower than expected down limit value: {2} ms.
 assert_RunningTimeExceedUpperBound=Running time for context {0} ={1} ms, upper than expected up limit value :{2} ms.
 assert_PerformanceStatsNotActivated=PerformanceStats framework not activated !
 assert_ContextDoNotExist=Context{0} do not exist in data base.
 assert_EventExceedTimeOut={0} event(s) triggered exceed time limit value.
 assert_EventInContextExceedTimeOut={0} event(s) triggered under context "{1}" exceed time limit value.