blob: f6ebe15be57ccfd3575230358fe721e9f797818b [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
// //
// Copyright (c) 2000-2019 Ericsson Telecom AB //
// //
// 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 //
///////////////////////////////////////////////////////////////////////////////
module EPTF_StatMeasure_Test_Testcases {
import from EPTF_CLL_StatMeasure_Definitions all;
import from EPTF_CLL_StatMeasure_Functions all;
import from EPTF_CLL_Variable_Definitions all;
import from EPTF_CLL_Variable_Functions all;
import from EPTF_CLL_Base_Functions all;
import from EPTF_CLL_Common_Definitions all; // EPTF_IntegerList
import from EPTF_StatMeasure_Test_Definitions all;
import from EPTF_StatMeasure_Test_Functions all;
group BasicTest {
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_complex
//
// Purpose:
// To test most of functionalites in one testcase
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them
// 2. Creates all types of stats for int, float variable and for standalone stat.
// 3. Checks if the stats are existed and if their type and VarIdx is the ordered.
// 4. Change the measured values for each statistics with in more steps and checks the stat value with more methods
//
// For noVars statistics there is no measured Variable therefore it is not refreshed after enebled - the values added have been forgotten
// Expected Result: The tc is passed if all checks are true
//
///////////////////////////////////////////////////////////
testcase tc_EPTF_StatMeasure_Test_complex() runs on EPTF_StatMeasure_Test_CT {
f_EPTF_Var_CT_LogAll("----- START -------");
f_EPTF_StatMeasure_init_CT("StatMeasure_test");
f_EPTF_Var_CT_LogAll("----- INIT READY -------");
f_createConfig();
// register stats:
var EPTF_IntegerList vl_statListFor_intVar;
var EPTF_IntegerList vl_statListFor_floatVar;
var EPTF_IntegerList vl_statListFor_noVar;
vl_statListFor_intVar:=f_EPTF_StatMeasure_createAllStats(v_intVarIdx);
vl_statListFor_floatVar:=f_EPTF_StatMeasure_createAllStats(v_floatVarIdx);
vl_statListFor_noVar:=f_EPTF_StatMeasure_createAllStats(-1);
// create var for stat:
log("vl_statListFor_intVar: ", vl_statListFor_intVar);
var EPTF_IntegerList vl_noVar_statIdxList;
for (var integer i:=0; i<sizeof(vl_statListFor_intVar); i:=i+1) {
log("i: ",i);
vl_noVar_statIdxList[i] := f_EPTF_StatMeasure_createVarFromStat(vl_statListFor_intVar[i]);
// if density: set boundaries to linear scale:
if (f_EPTF_StatMeasure_getStatType(vl_statListFor_intVar[i]) == density) {
log("DENSITY");
f_EPTF_StatMeasure_setScale_density(vl_statListFor_intVar[i],0.0,10.0,11);
f_EPTF_StatMeasure_setScale_density(vl_statListFor_floatVar[i],0.0,10.0,11);
}
// if density: set boundaries to linear scale:
if (f_EPTF_StatMeasure_getStatType(vl_statListFor_intVar[i]) == percentile95) {
log("PERCENTILE");
f_EPTF_StatMeasure_setScale_percentile95(vl_statListFor_intVar[i],0.0,10.0,6);
f_EPTF_StatMeasure_setScale_percentile95(vl_statListFor_floatVar[i],0.0,10.0,6);
}
}
f_EPTF_Var_CT_LogAll("----- REGISTER STATS -------");
f_EPTF_StatMeasure_LogAll("----- REGISTER STATS -------");
// REFRESH
f_EPTF_Var_refreshContent(v_intVarIdx);
// ADJUST local.REF.param
f_EPTF_Var_adjustContent(v_floatVarIdx,{floatVal:=6.0});
f_EPTF_Var_adjustContent(v_intVarIdx,{intVal:=10});
f_EPTF_Var_adjustContent(v_floatVarIdx,{floatVal:=8.0});
f_EPTF_Var_CT_LogAll("----- ADJUST VARS -------");
f_EPTF_StatMeasure_LogAll("----- ADJUST VARS -------");
f_EPTF_StatMeasure_resetStats(vl_statListFor_floatVar);
f_EPTF_Var_CT_LogAll("----- RESET STATS FOR " & int2str(v_floatVarIdx) & " -------");
// ADJUST
f_EPTF_Var_adjustContent(v_floatVarIdx,{floatVal:=1.0});
f_EPTF_Var_adjustContent(v_floatVarIdx,{floatVal:=2.0});
f_EPTF_Var_adjustContent(v_floatVarIdx,{floatVal:=3.0});
f_EPTF_Var_adjustContent(v_floatVarIdx,{floatVal:=4.0});
f_EPTF_Var_adjustContent(v_floatVarIdx,{floatVal:=5.0});
f_EPTF_Var_CT_LogAll("----- ADJUST FLOAT -------");
f_EPTF_StatMeasure_LogAll("----- ADJUST FLOAT -------");
// NO VAR
f_EPTF_StatMeasure_addData_delta(vl_statListFor_noVar[1],{intVal := 1});
f_EPTF_StatMeasure_addData_delta(vl_statListFor_noVar[1],{intVal := 2});
f_EPTF_StatMeasure_addData_delta(vl_statListFor_noVar[1],{intVal := 6});
f_EPTF_StatMeasure_addData_delta(vl_statListFor_noVar[1],{intVal := 7});
f_EPTF_StatMeasure_addData_deltaSum(vl_statListFor_noVar[2],{intVal := 1});
f_EPTF_StatMeasure_addData_deltaSum(vl_statListFor_noVar[2],{intVal := 2});
f_EPTF_StatMeasure_addData_deltaSum(vl_statListFor_noVar[2],{intVal := 6});
f_EPTF_StatMeasure_addData_deltaSum(vl_statListFor_noVar[2],{intVal := 7});
f_EPTF_StatMeasure_addData_min(vl_statListFor_noVar[3],{intVal := 1});
f_EPTF_StatMeasure_addData_min(vl_statListFor_noVar[3],{intVal := 2});
f_EPTF_StatMeasure_addData_min(vl_statListFor_noVar[3],{intVal := 6});
f_EPTF_StatMeasure_addData_min(vl_statListFor_noVar[3],{intVal := 7});
f_EPTF_StatMeasure_addData_max(vl_statListFor_noVar[4],{intVal := 1});
f_EPTF_StatMeasure_addData_max(vl_statListFor_noVar[4],{intVal := 2});
f_EPTF_StatMeasure_addData_max(vl_statListFor_noVar[4],{intVal := 6});
f_EPTF_StatMeasure_addData_max(vl_statListFor_noVar[4],{intVal := 7});
f_EPTF_StatMeasure_addData_mean(vl_statListFor_noVar[5],1.0);
f_EPTF_StatMeasure_addData_mean(vl_statListFor_noVar[5],2.0);
f_EPTF_StatMeasure_addData_mean(vl_statListFor_noVar[5],6.0);
f_EPTF_StatMeasure_addData_mean(vl_statListFor_noVar[5],7.0);
f_EPTF_StatMeasure_addData_standardDev(vl_statListFor_noVar[6],1.0);
f_EPTF_StatMeasure_addData_standardDev(vl_statListFor_noVar[6],2.0);
f_EPTF_StatMeasure_addData_standardDev(vl_statListFor_noVar[6],6.0);
f_EPTF_StatMeasure_addData_standardDev(vl_statListFor_noVar[6],7.0);
f_EPTF_StatMeasure_addData_EPS(vl_statListFor_noVar[7]);
f_EPTF_StatMeasure_addData_EPS(vl_statListFor_noVar[7]);
f_EPTF_StatMeasure_addData_EPS(vl_statListFor_noVar[7]);
f_EPTF_StatMeasure_addData_EPS(vl_statListFor_noVar[7]);
f_EPTF_StatMeasure_update_EPS(vl_statListFor_noVar[7],2.0);
f_EPTF_StatMeasure_addData_chrono(vl_statListFor_noVar[8]);
f_EPTF_StatMeasure_addData_chrono(vl_statListFor_noVar[8]);
f_EPTF_StatMeasure_addData_chrono(vl_statListFor_noVar[8]);
f_EPTF_StatMeasure_addData_chrono(vl_statListFor_noVar[8]);
f_EPTF_StatMeasure_update_chrono(vl_statListFor_noVar[8]);
f_EPTF_StatMeasure_setScale_density(vl_statListFor_noVar[9],0.0,10.0,11);
f_EPTF_StatMeasure_addData_density(vl_statListFor_noVar[9],1.0);
f_EPTF_StatMeasure_addData_density(vl_statListFor_noVar[9],2.0);
f_EPTF_StatMeasure_addData_density(vl_statListFor_noVar[9],6.0);
f_EPTF_StatMeasure_addData_density(vl_statListFor_noVar[9],7.0);
f_EPTF_Var_CT_LogAll("----- ADDDATA NOVAR -------");
f_EPTF_StatMeasure_LogAll("----- ADDDATA NOVAR -------");
f_EPTF_StatMeasure_LogAll("STATLIST");
log("EXPECTED: ", t_expectedResult);
log("MATCH: ", match(f_EPTF_StatMeasure_statList(), t_expectedResult));
f_setverdictFail(not match(f_EPTF_StatMeasure_statList(), t_expectedResult));
//log("Bad one: SL / EXP: ", statList[27].statData.percentile95.pos, " / ",
// valueof(t_expectedResult[27].statData.percentile95.pos));
//f_DEBUG_float(statList[27].statData.percentile95.pos);
//f_DEBUG_float(valueof(t_expectedResult[27].statData.percentile95.pos));
// SAMPLEDAVERAGE:
// create a new EPS stat without a variable:
var integer vl_EPSIdx := f_EPTF_StatMeasure_newStat_EPS();
var float vl_sampleTime := 0.5; // the period of the calculation of the EPSs (CPS)
timer t_sample := vl_sampleTime;
timer t_refresh := 0.11;
timer t_end := 10.0;
t_sample.start; t_refresh.start; t_end.start;
alt {
[] t_end.timeout {
f_EPTF_StatMeasure_LogAll("----- PeriodicUPDATESAMPLEDAVERAGE STATS END-------");
}
[] t_refresh.timeout {
t_refresh.start;
f_EPTF_StatMeasure_addData_EPS(vl_EPSIdx); //(new call is generated)
log(t_end.read, ": EPS");
//f_EPTF_Var_adjustContent(v_intVarIdx,{intVal:=5}); // also: adjust the variable, but do not change the value
repeat;
}
[] t_sample.timeout {
t_sample.start;
f_EPTF_StatMeasure_update_EPS(vl_EPSIdx,vl_sampleTime);
f_EPTF_StatMeasure_update_EPS(vl_statListFor_floatVar[7],vl_sampleTime);
f_EPTF_StatMeasure_LogAll("----- PeriodicUPDATE_SAMPLEDAVERAGE STATS -------");
repeat;
}
}
// END
f_EPTF_StatMeasure_update_EPS(vl_EPSIdx, 10.0);
f_EPTF_StatMeasure_update_EPS(vl_statListFor_floatVar[7], 10.0);
//f_EPTF_StatMeasure_LogAll("----- UPDATE_SAMPLEDAVERAGE STATS -------");
var float vl_statValue;
var boolean vl_isAvail;
vl_isAvail := f_EPTF_StatMeasure_getStat_EPS(vl_EPSIdx, vl_statValue);
log("Stat value: ", vl_statValue);
//f_setverdictFail(vl_statValue != 8.9 or not vl_isAvail); // FIXME: depends on machine
vl_isAvail := f_EPTF_StatMeasure_getStat_EPS(vl_statListFor_floatVar[7],vl_statValue);
f_setverdictFail(vl_statValue!=0.5 or not vl_isAvail);
t_wait.start;
alt {
[] t_wait.timeout {
f_EPTF_Var_CT_LogAll("----- TIMEOUT -------");
}
}
f_EPTF_Var_CT_LogAll("----- LOCAL PROVIDER REMOVED -------");
for (var integer i:=0; i<sizeof(vl_noVar_statIdxList); i:=i+1) {
var EPTF_Var_DirectContent vl_content;
if(vl_noVar_statIdxList[i]==-1) { continue; }
f_EPTF_Var_getContent(vl_noVar_statIdxList[i], vl_content);
f_EPTF_Var_Log("Value of Var ", vl_noVar_statIdxList[i]);
log(": ", vl_content);
}
//f_EPTF_StatMeasure_LogAll("----- END -------");
f_EPTF_Base_cleanup_CT();
setverdict(pass);
}
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_custom
//
// Purpose:
// To test the custom statistics
//
// Requirement:
// -
///////////////////////////////////////////////////////////
testcase tc_EPTF_StatMeasure_Test_custom()
runs on EPTF_StatMeasure_Test_CT
{
//f_EPTF_Var_CT_LogAll("----- START -------");
f_EPTF_StatMeasure_init_CT("StatMeasure_test");
//f_EPTF_Var_CT_LogAll("----- INIT READY -------");
f_test_custom();
f_EPTF_Base_cleanup_CT();
setverdict(pass);
}
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_percentile95
//
// Purpose:
// To test the percentile95 statistics
//
// Requirement:
// -
///////////////////////////////////////////////////////////
testcase tc_EPTF_StatMeasure_Test_percentile95()
runs on EPTF_StatMeasure_Test_CT
{
f_EPTF_Var_CT_LogAll("----- START -------");
f_EPTF_StatMeasure_init_CT("StatMeasure_test");
f_EPTF_Var_CT_LogAll("----- INIT READY -------");
f_test_percentile95();
f_EPTF_Base_cleanup_CT();
setverdict(pass);
}
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_percentileP
//
// Purpose:
// To test the percentileP statistics with value P=50.0 (median)
//
// Requirement:
// -
///////////////////////////////////////////////////////////
testcase tc_EPTF_StatMeasure_Test_percentileP()
runs on EPTF_StatMeasure_Test_CT
{
f_EPTF_Var_CT_LogAll("----- START -------");
f_EPTF_StatMeasure_init_CT("StatMeasure_test");
f_EPTF_Var_CT_LogAll("----- INIT READY -------");
f_test_percentileP();
f_EPTF_Base_cleanup_CT();
setverdict(pass);
}
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_percentile95_initStatValue
//
// Purpose:
// To test the percentile95 statistics if the initStatValue and enableStat
// functions work correctly
//
// Requirement:
// -
///////////////////////////////////////////////////////////
testcase tc_EPTF_StatMeasure_Test_percentile95_initStatValue() runs on EPTF_StatMeasure_Test_CT{
const EPTF_StatMeasure_StatParams c_stat95Params := {
percentile95 := {
scale := {
min := 0.0,
max := int2float(100)/10.0,
n := 100+1,
scale := linear}
}
}
var EPTF_FloatList v_statCreateValues := {
0.099675,
0.199499,
0.299061,
0.398686,
0.498403,
0.598069,
0.697334,
0.798480,
0.897211,
0.997006,
1.096776,
1.202991,
1.295482,
1.395387,
1.494898,
1.597026,
1.694203,
1.793992,
1.893537,
1.993306,
2.093023,
2.192675,
2.292374,
2.396055,
2.495626,
2.594797,
2.691148,
2.790835,
2.902498,
3.001158,
3.101910,
3.201614,
3.301221,
3.400967,
3.500654,
3.600412,
3.698792,
3.799753,
3.899419,
3.999157,
4.098854,
4.198511,
4.298232,
4.397897,
4.497665,
4.601351,
4.696895,
4.796681,
4.900425,
4.994718,
5.095780,
5.195479,
5.296658,
5.397852,
5.494582,
5.599330,
5.698981,
5.797056,
5.896068,
5.998124,
6.097802,
6.198735,
6.301152,
6.400931,
6.496582,
6.600216,
6.695966,
6.795645,
6.895751,
6.995405,
7.094930,
7.195240,
7.295339,
7.394539,
7.493431,
7.593014,
7.692628,
7.800875,
7.900030,
8.003850,
8.099600,
8.203113,
8.302629,
8.402406,
8.498252,
8.597829,
8.697564,
8.797235,
8.896907,
9.000631,
9.096147,
9.196008,
9.304461,
9.395399,
9.499011,
9.598700,
9.698376,
9.794131,
9.897755,
9.997417
}
var integer vl_testVar
f_EPTF_Var_newFloat("testVar", 0.0, vl_testVar)
var integer vl_testStatId := f_EPTF_StatMeasure_newStatWithParams(vl_testVar, c_stat95Params)
for ( var integer vl_i := 0; vl_i < sizeof(v_statCreateValues) ; vl_i := vl_i+1 ){
f_EPTF_Var_adjustContent(vl_testVar, {floatVal := v_statCreateValues[vl_i]})
}
var float vl_expected, vl_second, vl_third
f_EPTF_StatMeasure_getStat_percentile95(vl_testStatId, vl_expected)
f_EPTF_StatMeasure_disableStat(vl_testStatId)
//Set variable to 0.0
f_EPTF_Var_adjustContent(vl_testVar, {floatVal := 0.0})
f_EPTF_StatMeasure_initStatValue(vl_testStatId)
f_EPTF_StatMeasure_enableStat(vl_testStatId)
for ( var integer vl_i := 0; vl_i < sizeof(v_statCreateValues) ; vl_i := vl_i+1 ){
f_EPTF_Var_adjustContent(vl_testVar, {floatVal := v_statCreateValues[vl_i]})
}
f_EPTF_StatMeasure_getStat_percentile95(vl_testStatId, vl_second)
f_EPTF_StatMeasure_disableStat(vl_testStatId)
//Not set variable to 0.0
f_EPTF_StatMeasure_initStatValue(vl_testStatId)
f_EPTF_StatMeasure_enableStat(vl_testStatId)
for ( var integer vl_i := 0; vl_i < sizeof(v_statCreateValues) ; vl_i := vl_i+1 ){
f_EPTF_Var_adjustContent(vl_testVar, {floatVal := v_statCreateValues[vl_i]})
}
f_EPTF_StatMeasure_getStat_percentile95(vl_testStatId, vl_third)
action(vl_expected," ==? ",vl_second," ==? ",vl_third)
if(vl_expected == vl_second and vl_third == vl_second){
setverdict ( pass )
}else{
setverdict ( fail, log2str(vl_expected," ==? ",vl_second," ==? ",vl_third))
}
}
}//group BasicTest
//*************************************************************************
// Group FunctionTest/RegressionTest
//*************************************************************************
group FunctionTest {
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_initAndCleanup
//
// Purpose:
// To test the functions f_EPTF_StatMeasure_init_CT and f_EPTF_StatMeasure_cleanup_CT
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function
// 2. Check if all its variables are initialized
// 2. Calls the cleanup function f_EPTF_Base_cleanup_CT()
// 3. Checks if the cleanup function f_EPTF_StatMeasure_cleanup_CT has been called i.e the
// variable v_EPTF_StatMeasure_initialized has been changed to false;
//
// Expected Result: The tc is passed if checks are true
//
///////////////////////////////////////////////////////////
//Status: Ready
testcase tc_EPTF_StatMeasure_Test_initAndCleanup() runs on EPTF_StatMeasure_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_init_CT("StatMeasure_test");
f_setverdictFail( v_EPTF_StatMeasure_initialized!=true);
f_EPTF_Base_cleanup_CT();
f_setverdictFail(v_EPTF_StatMeasure_initialized!=false);
}//tc_
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_selftest
//
// Purpose:
// To test the test component itself
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. The steps are:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT
// 2. Checks if the flag variables v_EPTF_StatMeasure_initialized and v_EPTF_StatMeasure_Test_initialized were true
// 3. call f_EPTF_Base_cleanup_CT to cleanup all component
// 4. Checks if the flag variables v_EPTF_StatMeasure_initialized and v_EPTF_StatMeasure_Test_initialized were false
//
// Expected Result: The tc is passed if all checks are passed
//
///////////////////////////////////////////////////////////
//Status: Ready
testcase tc_EPTF_StatMeasure_Test_selftest() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
f_setverdictFail(v_EPTF_StatMeasure_Test_initialized!=true);
//f_setverdictFail(v_EPTF_StatMeasure_initialized!=true);
f_EPTF_Base_cleanup_CT();
//f_setverdictFail(v_EPTF_StatMeasure_initialized!=false);
f_setverdictFail(v_EPTF_StatMeasure_Test_initialized!=false);
}//tc_
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_newStat_int
//
// Purpose:
// To test the function f_EPTF_StatMeasure_newStat, f_EPTF_StatMeasure_getStatType
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them
// 2. Creates all types of stats for the integer variable
// 3. Checks if the stats are existed and if their type and VarIdx is the ordered.
// Expected Result: The tc is passed if all checks were true
//
///////////////////////////////////////////////////////////
//Status: Ready, Passed
testcase tc_EPTF_StatMeasure_Test_newStat_int() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var EPTF_IntegerList vl_statListFor_intVar;
log("c_EPTF_StatMeasure_Test_statTypes:",c_EPTF_StatMeasure_Test_statTypes);
//f_EPTF_StatMeasure_LogAll("===Before NewStat===");
for(var integer i:=0; i<sizeof(c_EPTF_StatMeasure_Test_statTypes);i:=i+1) {
vl_statListFor_intVar[i]:= f_EPTF_StatMeasure_newStat(v_intVarIdx, c_EPTF_StatMeasure_Test_statTypes[i]);
f_setverdictFail( c_EPTF_StatMeasure_Test_statTypes[i]!=f_EPTF_StatMeasure_getStatType(vl_statListFor_intVar[i]));
f_setverdictFail( f_EPTF_StatMeasure_getVarIdx(vl_statListFor_intVar[i])!=v_intVarIdx);
}
//f_EPTF_StatMeasure_LogAll("===After NewStat===");
f_EPTF_Base_cleanup_CT();
}//tc_
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_newStat_Type_int
//
// Purpose:
// To test the functions
// f_EPTF_StatMeasure_newStat_content
// f_EPTF_StatMeasure_newStat_delta
// f_EPTF_StatMeasure_newStat_deltaSum
// f_EPTF_StatMeasure_newStat_min
// f_EPTF_StatMeasure_newStat_max
// f_EPTF_StatMeasure_newStat_mean
// f_EPTF_StatMeasure_newStat_standardDev
// f_EPTF_StatMeasure_newStat_EPS
// f_EPTF_StatMeasure_newStat_chrono
// f_EPTF_StatMeasure_newStat_density
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them
// 2. Creates all types of stats for the integer variable
// 3. Checks if the stats exist and if their type and VarIdx is the ordered.
// Expected Result: The tc is passed if all checks were true
//
///////////////////////////////////////////////////////////
//Status: Ready, Passed
testcase tc_EPTF_StatMeasure_Test_newStat_Type_int() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var EPTF_IntegerList vl_statListFor_intVar;
log("c_EPTF_StatMeasure_Test_statTypes:",c_EPTF_StatMeasure_Test_statTypes);
//f_EPTF_StatMeasure_LogAll("===Before NewStat===");
vl_statListFor_intVar[0]:= f_EPTF_StatMeasure_newStat_content(v_intVarIdx);
vl_statListFor_intVar[1]:= f_EPTF_StatMeasure_newStat_delta(v_intVarIdx);
vl_statListFor_intVar[2]:= f_EPTF_StatMeasure_newStat_deltaSum(v_intVarIdx);
vl_statListFor_intVar[3]:= f_EPTF_StatMeasure_newStat_min(v_intVarIdx);
vl_statListFor_intVar[4]:= f_EPTF_StatMeasure_newStat_max(v_intVarIdx);
vl_statListFor_intVar[5]:= f_EPTF_StatMeasure_newStat_mean(v_intVarIdx);
vl_statListFor_intVar[6]:= f_EPTF_StatMeasure_newStat_standardDev(v_intVarIdx);
vl_statListFor_intVar[7]:= f_EPTF_StatMeasure_newStat_EPS(v_intVarIdx);
vl_statListFor_intVar[8]:= f_EPTF_StatMeasure_newStat_chrono(v_intVarIdx);
vl_statListFor_intVar[9]:= f_EPTF_StatMeasure_newStat_density({1.0,2.0,3.0,4.0},v_intVarIdx);
for(var integer i:=0; i<sizeof(c_EPTF_StatMeasure_Test_statTypes);i:=i+1) {
f_setverdictFail( c_EPTF_StatMeasure_Test_statTypes[i]!=f_EPTF_StatMeasure_getStatType(vl_statListFor_intVar[i]));
f_setverdictFail( f_EPTF_StatMeasure_getVarIdx(vl_statListFor_intVar[i])!=v_intVarIdx);
}
//f_EPTF_StatMeasure_LogAll("===After NewStat===");
f_EPTF_Base_cleanup_CT();
}//tc_
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_newStat_float
//
// Purpose:
// To test the functions f_EPTF_StatMeasure_newStat,f_EPTF_StatMeasure_getStatType
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them
// 2. Creates all types of stats for the float variable
// 3. Checks if the stats exist and if their type and VarIdx is the ordered.
// Expected Result: The tc is passed if all checks were true
//
///////////////////////////////////////////////////////////
//Status: Ready, Passed
testcase tc_EPTF_StatMeasure_Test_newStat_float() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var EPTF_IntegerList vl_statListFor_floatVar;
log("c_EPTF_StatMeasure_Test_statTypes:",c_EPTF_StatMeasure_Test_statTypes);
//f_EPTF_StatMeasure_LogAll("===Before NewStat===");
for(var integer i:=0; i<sizeof(c_EPTF_StatMeasure_Test_statTypes);i:=i+1) {
vl_statListFor_floatVar[i]:= f_EPTF_StatMeasure_newStat(v_floatVarIdx, c_EPTF_StatMeasure_Test_statTypes[i]);
f_setverdictFail( c_EPTF_StatMeasure_Test_statTypes[i]!=f_EPTF_StatMeasure_getStatType(vl_statListFor_floatVar[i]));
f_setverdictFail( f_EPTF_StatMeasure_getVarIdx(vl_statListFor_floatVar[i])!=v_floatVarIdx);
}
//f_EPTF_StatMeasure_LogAll("===After NewStat===");
//f_EPTF_StatMeasure_createVarFromStat(vl_statIdx, "TestStatIntVar");
f_EPTF_Base_cleanup_CT();
}//tc_
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_newStat_Type_float
//
// Purpose:
// To test the functions
// f_EPTF_StatMeasure_newStat_content
// f_EPTF_StatMeasure_newStat_delta
// f_EPTF_StatMeasure_newStat_deltaSum
// f_EPTF_StatMeasure_newStat_min
// f_EPTF_StatMeasure_newStat_max
// f_EPTF_StatMeasure_newStat_mean
// f_EPTF_StatMeasure_newStat_standardDev
// f_EPTF_StatMeasure_newStat_EPS
// f_EPTF_StatMeasure_newStat_chrono
// f_EPTF_StatMeasure_newStat_density
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an float one and a float one and checks them
// 2. Creates all types of stats for the float variable
// 3. Checks if the stats are existed and if their type and VarIdx is the ordered.
// Expected Result: The tc is passed if all checks were true
//
///////////////////////////////////////////////////////////
//Status: Ready, Passed
testcase tc_EPTF_StatMeasure_Test_newStat_Type_float() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var EPTF_IntegerList vl_statListFor_floatVar;
log("c_EPTF_StatMeasure_Test_statTypes:",c_EPTF_StatMeasure_Test_statTypes);
//f_EPTF_StatMeasure_LogAll("===Before NewStat===");
vl_statListFor_floatVar[0]:= f_EPTF_StatMeasure_newStat_content(v_floatVarIdx);
vl_statListFor_floatVar[1]:= f_EPTF_StatMeasure_newStat_delta(v_floatVarIdx);
vl_statListFor_floatVar[2]:= f_EPTF_StatMeasure_newStat_deltaSum(v_floatVarIdx);
vl_statListFor_floatVar[3]:= f_EPTF_StatMeasure_newStat_min(v_floatVarIdx);
vl_statListFor_floatVar[4]:= f_EPTF_StatMeasure_newStat_max(v_floatVarIdx);
vl_statListFor_floatVar[5]:= f_EPTF_StatMeasure_newStat_mean(v_floatVarIdx);
vl_statListFor_floatVar[6]:= f_EPTF_StatMeasure_newStat_standardDev(v_floatVarIdx);
vl_statListFor_floatVar[7]:= f_EPTF_StatMeasure_newStat_EPS(v_floatVarIdx);
vl_statListFor_floatVar[8]:= f_EPTF_StatMeasure_newStat_chrono(v_floatVarIdx);
vl_statListFor_floatVar[9]:= f_EPTF_StatMeasure_newStat_density({1.0,2.0,3.0,4.0},v_floatVarIdx);
for(var integer i:=0; i<sizeof(c_EPTF_StatMeasure_Test_statTypes);i:=i+1) {
f_setverdictFail( c_EPTF_StatMeasure_Test_statTypes[i]!=f_EPTF_StatMeasure_getStatType(vl_statListFor_floatVar[i]));
f_setverdictFail( f_EPTF_StatMeasure_getVarIdx(vl_statListFor_floatVar[i])!=v_floatVarIdx);
}
//f_EPTF_StatMeasure_LogAll("===After NewStat===");
f_EPTF_Base_cleanup_CT();
}//tc
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_newStat_noVars
//
// Purpose:
// To test the functions f_EPTF_StatMeasure_newStat, f_EPTF_StatMeasure_getStatType for standlone statistics
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them
// 2. Creates all types of standalone stats (except for content)
// 3. Checks if the stats are existed and if their type and VarIdx is the ordered.
// Expected Result: The tc is passed if all checks were true
//
///////////////////////////////////////////////////////////
//Status: Ready, Passed
testcase tc_EPTF_StatMeasure_Test_newStat_noVars() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var EPTF_IntegerList vl_statListFor_noVar;
//!!!!!!!!!!!!!! Change the index from 1 for 0, if f_EPTF_StatMeasure_newStat() is reapired for content type.
for(var integer i:=1; i<sizeof(c_EPTF_StatMeasure_Test_statTypes);i:=i+1) {
vl_statListFor_noVar[i]:= f_EPTF_StatMeasure_newStat(-1, c_EPTF_StatMeasure_Test_statTypes[i]);
f_setverdictFail( c_EPTF_StatMeasure_Test_statTypes[i]!=f_EPTF_StatMeasure_getStatType(vl_statListFor_noVar[i]));
f_setverdictFail( f_EPTF_StatMeasure_getVarIdx(vl_statListFor_noVar[i])!=-1);
}
//f_EPTF_StatMeasure_LogAll("===After NewStat===");
//f_EPTF_StatMeasure_createVarFromStat(vl_statIdx, "TestStatIntVar");
f_EPTF_Base_cleanup_CT();
}//tc_
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_newStat_Type_noVars
//
// Purpose:
// To test the functions f_EPTF_StatMeasure_newStat_content,
// f_EPTF_StatMeasure_newStat_delta, e.t.c
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an float one and a float one and checks them
// 2. Creates all types of stats for the float variable
// 3. Checks if the stats are existed and if their type and VarIdx is the ordered.
// Expected Result: The tc is passed if all checks were true
//
///////////////////////////////////////////////////////////
//Status: Ready, Passed
testcase tc_EPTF_StatMeasure_Test_newStat_Type_noVars() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var EPTF_IntegerList vl_statListFor_noVar;
log("c_EPTF_StatMeasure_Test_statTypes:",c_EPTF_StatMeasure_Test_statTypes);
//f_EPTF_StatMeasure_LogAll("===Before NewStat===");
//vl_statListFor_noVar[0]:= f_EPTF_StatMeasure_newStat_content(-1);
vl_statListFor_noVar[1]:= f_EPTF_StatMeasure_newStat_delta(-1);
vl_statListFor_noVar[2]:= f_EPTF_StatMeasure_newStat_deltaSum(-1);
vl_statListFor_noVar[3]:= f_EPTF_StatMeasure_newStat_min(-1);
vl_statListFor_noVar[4]:= f_EPTF_StatMeasure_newStat_max(-1);
vl_statListFor_noVar[5]:= f_EPTF_StatMeasure_newStat_mean(-1);
vl_statListFor_noVar[6]:= f_EPTF_StatMeasure_newStat_standardDev(-1);
vl_statListFor_noVar[7]:= f_EPTF_StatMeasure_newStat_EPS(-1);
vl_statListFor_noVar[8]:= f_EPTF_StatMeasure_newStat_chrono(-1);
vl_statListFor_noVar[9]:= f_EPTF_StatMeasure_newStat_density({1.0,2.0,3.0,4.0},-1);
for(var integer i:=1; i<sizeof(c_EPTF_StatMeasure_Test_statTypes);i:=i+1) {
f_setverdictFail( c_EPTF_StatMeasure_Test_statTypes[i]!=f_EPTF_StatMeasure_getStatType(vl_statListFor_noVar[i]));
f_setverdictFail( f_EPTF_StatMeasure_getVarIdx(vl_statListFor_noVar[i])!=-1);
}
//f_EPTF_StatMeasure_LogAll("===After NewStat===");
f_EPTF_Base_cleanup_CT();
}//tc
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_createAllStats
//
// Purpose:
// To test the functions f_EPTF_StatMeasure_createAllStats and f_EPTF_StatMeasure_getStatType, f_EPTF_StatMeasure_getVarIdx
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an integer one and a float one and checks them
// 2. Creates all types of stats for the integer and the float variable and for the standalone case
// 3. Checks if the stats are existed and if their type and VarIdx is the ordered.
// Expected Result: The tc is passed if all checks were true
//
///////////////////////////////////////////////////////////
//Status: Ready, Passed
testcase tc_EPTF_StatMeasure_Test_createAllStats() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var EPTF_IntegerList vl_statListFor_intVar;
var EPTF_IntegerList vl_statListFor_floatVar;
var EPTF_IntegerList vl_statListFor_noVar;
log("c_EPTF_StatMeasure_Test_statTypes:",c_EPTF_StatMeasure_Test_statTypes);
//f_EPTF_StatMeasure_LogAll("===Before NewStat===");
vl_statListFor_intVar:= f_EPTF_StatMeasure_createAllStats(v_intVarIdx);
vl_statListFor_floatVar:= f_EPTF_StatMeasure_createAllStats(v_floatVarIdx);
vl_statListFor_noVar:= f_EPTF_StatMeasure_Test_createAllStats(-1);
for(var integer i:=0; i<sizeof(c_EPTF_StatMeasure_Test_statTypes);i:=i+1) {
f_setverdictFail( c_EPTF_StatMeasure_Test_statTypes[i]!=f_EPTF_StatMeasure_getStatType(vl_statListFor_intVar[i]));
f_setverdictFail( c_EPTF_StatMeasure_Test_statTypes[i]!=f_EPTF_StatMeasure_getStatType(vl_statListFor_floatVar[i]));
f_setverdictFail( f_EPTF_StatMeasure_getVarIdx(vl_statListFor_floatVar[i])!=v_floatVarIdx);
f_setverdictFail( c_EPTF_StatMeasure_Test_statTypes[i]!=f_EPTF_StatMeasure_getStatType(vl_statListFor_floatVar[i]));
f_setverdictFail( f_EPTF_StatMeasure_getVarIdx(vl_statListFor_floatVar[i])!=v_floatVarIdx);
}
for(var integer i:=1; i<sizeof(c_EPTF_StatMeasure_Test_statTypes);i:=i+1) {
vl_statListFor_noVar[i]:= f_EPTF_StatMeasure_newStat(-1, c_EPTF_StatMeasure_Test_statTypes[i]);
f_setverdictFail( c_EPTF_StatMeasure_Test_statTypes[i]!=f_EPTF_StatMeasure_getStatType(vl_statListFor_noVar[i]));
f_setverdictFail( f_EPTF_StatMeasure_getVarIdx(vl_statListFor_noVar[i])!=-1);
}
//f_EPTF_StatMeasure_LogAll("===After NewStat===");
f_EPTF_Base_cleanup_CT();
}//tc_
//=============================================================================
//=== Test of Content Type Related Functions ==
//=============================================================================
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_content
//
// Purpose:
// To test the functions
// - f_EPTF_StatMeasure_newStat_content,
// - f_EPTF_StatMeasure_content2str
// - f_EPTF_StatMeasure_value2str for content
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them
// 2. Creates stats of type "content" for the int and float variables
// 3. Adjust their contents by calling f_EPTF_Var_adjustContent
// 4. Check if the statistics are the sama as the adjusted values by calling f_EPTF_StatMeasure_value2str
// and f_EPTF_StatMeasure_content2str
//
// Expected Result: The tc is passed if all checks were true
//
///////////////////////////////////////////////////////////
//Status: Ready, Passed
testcase tc_EPTF_StatMeasure_Test_content() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var integer vl_statIdx_intVar;
var integer vl_statIdx_floatVar;
//var integer vl_statIdx_noVar;
//f_EPTF_StatMeasure_LogAll("===Before NewStat===");
vl_statIdx_intVar:= f_EPTF_StatMeasure_newStat_content(v_intVarIdx);
vl_statIdx_floatVar:= f_EPTF_StatMeasure_newStat_content(v_floatVarIdx);
//vl_statIdx_noVar:= f_EPTF_StatMeasure_newStat_content(-1); //<<== not supported
f_EPTF_StatMeasure_LogAll("===After NewStat===");
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 20 } )
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 30.0 } )
f_EPTF_StatMeasure_LogAll("===After Adjust===");
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="20");
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="30.000000");
f_setverdictFail( f_EPTF_StatMeasure_content2str(vl_statIdx_intVar) !="20");
f_setverdictFail( f_EPTF_StatMeasure_content2str(vl_statIdx_floatVar)!="30.000000");
var EPTF_Var_DirectContent vl_statValue;
f_EPTF_StatMeasure_getStat_content(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=20});
log( "vl_statValue :", vl_statValue);
f_EPTF_StatMeasure_getStat_content(vl_statIdx_floatVar,vl_statValue);
f_setverdictFail(vl_statValue!={floatVal:=30.000000});
log( "vl_statValue :", vl_statValue);
f_EPTF_Base_cleanup_CT();
}//tc_
//=============================================================================
//=== Test of Delta Type Related Functions ==
//=============================================================================
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_delta
//
// Purpose:
// To test the functions
// - f_EPTF_StatMeasure_newStat_delta,
// - f_EPTF_StatMeasure_delta2str
// - f_EPTF_StatMeasure_value2str for content
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Call the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them
// 2. Create "delta" types of stats for the int and the float variable and for the standalone stats, as well by
// calling f_EPTF_StatMeasure_newStat_delta
// 3. Check if the stats are existed and if their type and VarIdx is the ordered.
// 4. Change the measured values for each statistics with in 3 steps and checks the stat value by more methods
// Uses f_EPTF_Var_adjustContent
// 5. Change the measured values when the statistic is disabled. Check if the stat results are unchanged
// 6. Set the statistics for enabled, Check if the statistics have been refreshed/changed based on the measured values.
// For standalone (noVars) statistics there is no measured Variable therefore it is not refreshed after enabled - the values added have been forgotten
//
// Expected Result: The tc is passed if all checks are true
//
///////////////////////////////////////////////////////////
//Status: Ready, Passed
testcase tc_EPTF_StatMeasure_Test_delta() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var integer vl_statIdx_intVar:=-1;
var integer vl_statIdx_floatVar:=-1;
var integer vl_statIdx_noVar:=-1;
var float vl_eps:=0.001; //epsilon: limit of difference
//Test of f_EPTF_StatMeasure_newStat_delta
//f_EPTF_StatMeasure_LogAll("===Before NewStat===");
vl_statIdx_intVar:= f_EPTF_StatMeasure_newStat_delta(v_intVarIdx);
vl_statIdx_floatVar:= f_EPTF_StatMeasure_newStat_delta(v_floatVarIdx);
vl_statIdx_noVar:= f_EPTF_StatMeasure_newStat_delta(-1);
f_EPTF_Var_refreshContent(v_intVarIdx)
f_EPTF_Var_refreshContent(v_floatVarIdx)
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 20 } )
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 30.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="10"); //20-10
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="20.000000");
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_intVar) !="10");
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_floatVar)!="20.000000");
var EPTF_Var_DirectContent vl_statValue;
f_setverdictFail( not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_intVar,vl_statValue));
f_setverdictFail( vl_statValue!={intVal:=10});
f_setverdictFail( not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_floatVar,vl_statValue));
f_setverdictFail(vl_statValue!={floatVal:=20.000000});
//Test of f_EPTF_StatMeasure_createVarFromStat
var integer vl_ctrlIdx_intVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_intVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue)
f_setverdictFail(vl_statValue!={intVal:=10});
var integer vl_ctrlIdx_floatVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_floatVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_setverdictFail(vl_statValue!={floatVal:=20.0});
var integer vl_ctrlIdx_noVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_noVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue)
f_setverdictFail(vl_statValue!={intVal:=0});
//test if the changes are copied
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 60 } )
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 80.4 } )
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=60);
f_EPTF_StatMeasure_Test_checkFloatEquality(f_EPTF_Var_getFloatValue(v_floatVarIdx),80.4, vl_eps);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="40"); //60-20
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_intVar) !="40");
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="50.400000"); //80.4 - 30.0
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_floatVar)!="50.400000");
f_setverdictFail(not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_intVar,vl_statValue));
f_setverdictFail(vl_statValue!={intVal:=40});
f_setverdictFail(not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_floatVar,vl_statValue));
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal,50.4, vl_eps);
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=40} );
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal,50.4, vl_eps)
//test addData/adjustContent when enabled:
//int
//f_EPTF_StatMeasure_addData_delta(vl_statIdx_intVar, { intVal:= 160 });//<<== It cannot be used!!!
f_EPTF_Var_adjustContent( v_intVarIdx, { intVal:= 160 } );
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=160);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="100"); //160-100
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_intVar) !="100");
f_setverdictFail(not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_intVar,vl_statValue));
f_setverdictFail(vl_statValue!={intVal:=100});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=100} );
//float:
//f_EPTF_StatMeasure_addData_delta(vl_statIdx_floatVar, { floatVal:= 100.0 }); //it does not refresh the Variable!
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 100.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="19.600000"); //100.0-80.4
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_floatVar)!="19.600000");
f_setverdictFail( not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_floatVar,vl_statValue));
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal, 19.6, vl_eps);
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal, 19.6, vl_eps);
//noVar:
f_EPTF_StatMeasure_addData_delta(vl_statIdx_noVar, { intVal:= 0 });//*this is the init*<<== Without this it does not work
f_EPTF_StatMeasure_addData_delta(vl_statIdx_noVar, { intVal:= 110 });
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="110");
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_noVar)!="110");
f_setverdictFail( not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_noVar,vl_statValue));
f_setverdictFail(vl_statValue!={intVal:=110});
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=110});
f_setverdictFail(f_EPTF_Var_getIntValue(vl_ctrlIdx_noVar)!=110)
//***** testing f_EPTF_StatMeasure_disableStat_delta *********
//int
f_EPTF_StatMeasure_disableStat_delta(vl_statIdx_intVar);
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 560 } )
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=560);
//expected: no difference, add data blocked:
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_intVar) !="100");
f_setverdictFail( not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_intVar,vl_statValue));
f_setverdictFail(vl_statValue!={intVal:=100});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=100} );
//float
f_EPTF_StatMeasure_disableStat_delta(vl_statIdx_floatVar);
//expected: no difference, addData blocked
f_EPTF_StatMeasure_addData_delta(vl_statIdx_floatVar, { floatVal:= 100.0 });
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 100.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="19.600000"); //100.0-80.4
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal, 19.6, vl_eps);
//noVars:
f_EPTF_StatMeasure_disableStat_delta(vl_statIdx_noVar); //While it is applied, the stat. values cannot be refreshed
f_EPTF_StatMeasure_addData_delta(vl_statIdx_noVar, { intVal:= 200 });
//expected: the same as previously, because this action is not performed:
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="110");
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_noVar)!="110");
f_setverdictFail( not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_noVar,vl_statValue));
f_setverdictFail(vl_statValue!={intVal:=110});
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=110});
f_setverdictFail(f_EPTF_Var_getIntValue(vl_ctrlIdx_noVar)!=110);
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=560);
//***** testing f_EPTF_StatMeasure_enableStat_delta *********
//int
f_EPTF_StatMeasure_enableStat_delta(vl_statIdx_intVar); //now the stat values are refreshed!!!
//enable refresh:160->560
f_EPTF_Var_refreshContent(v_intVarIdx)
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=560);
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_intVar) !="400");
f_setverdictFail( not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_intVar,vl_statValue));
f_setverdictFail(vl_statValue!={intVal:=400});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=400} );
//f_EPTF_StatMeasure_addData_delta(vl_statIdx_intVar, { intVal:= 170 });
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 170 } )
//560->170
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_intVar) !="-390");
f_setverdictFail( not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_intVar,vl_statValue));
f_setverdictFail(vl_statValue!={intVal:=-390});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=-390} );
//float
f_EPTF_StatMeasure_enableStat_delta(vl_statIdx_floatVar);
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 100.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="0.000000");
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal, 0.0, vl_eps);
//noVars:
f_EPTF_StatMeasure_enableStat_delta(vl_statIdx_noVar);
f_EPTF_StatMeasure_addData_delta(vl_statIdx_noVar, { intVal:= 200 });//110->200
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="90");
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_noVar)!="90");
f_setverdictFail( not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_noVar,vl_statValue));
f_setverdictFail(vl_statValue!={intVal:=90});
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=90});
f_setverdictFail(f_EPTF_Var_getIntValue(vl_ctrlIdx_noVar)!=90)
f_EPTF_Base_cleanup_CT();
}//tc_
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_delta_temporary
//
// Purpose:
// To test the functions
// - f_EPTF_StatMeasure_newStat_delta,
// - f_EPTF_StatMeasure_delta2str
// - f_EPTF_StatMeasure_value2str for content
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them
// 2. Creates all types of stats for the float variable
// 3. Checks if the stats are existed and if their type and VarIdx is the ordered.
// 4. Change the measured values for each statistics with in 3 steps and checks the stat value with more methods
// 5. Change the measured values when the statistic is disabled. Check if the stat results are unchanged
// 6. Set the statistics for enabled, Check if the statistics have been refreshed/changed based on the measured values.
// For noVars statistics there is no measured Variable therefore it is not refreshed after enebled - the values added have been forgotten
//
// Expected Result: The tc is passed if all checks are true
//
///////////////////////////////////////////////////////////
//Status: Ready, Passed
testcase tc_EPTF_StatMeasure_Test_delta_temporary() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var integer vl_statIdx_intVar:=-1;
var integer vl_statIdx_floatVar:=-1;
var integer vl_statIdx_noVar:=-1;
var float vl_eps:=0.001; //epsilon: limit of difference
//Test of f_EPTF_StatMeasure_newStat_delta
//f_EPTF_StatMeasure_LogAll("===Before NewStat===");
vl_statIdx_intVar:= f_EPTF_StatMeasure_newStat_delta(v_intVarIdx);
vl_statIdx_floatVar:= f_EPTF_StatMeasure_newStat_delta(v_floatVarIdx);
vl_statIdx_noVar:= f_EPTF_StatMeasure_newStat_delta(-1);
f_EPTF_Var_refreshContent(v_intVarIdx)
f_EPTF_Var_refreshContent(v_floatVarIdx)
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 1 } )
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 1.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="-9");
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="-9.000000");
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_intVar) !="-9");
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_floatVar)!="-9.000000");
var EPTF_Var_DirectContent vl_statValue;
f_setverdictFail( not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_intVar,vl_statValue));
f_setverdictFail( vl_statValue!={intVal:=-9});
f_setverdictFail( not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_floatVar,vl_statValue));
f_setverdictFail(vl_statValue!={floatVal:=-9.000000});
//Test of f_EPTF_StatMeasure_createVarFromStat
var integer vl_ctrlIdx_intVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_intVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue)
f_setverdictFail(vl_statValue!={intVal:=-9});
var integer vl_ctrlIdx_floatVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_floatVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_setverdictFail(vl_statValue!={floatVal:=-9.0});
var integer vl_ctrlIdx_noVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_noVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue)
f_setverdictFail(vl_statValue!={intVal:=0});
//test if the changes are copied
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 2 } )
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 2.0 } )
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=2);
f_EPTF_StatMeasure_Test_checkFloatEquality(f_EPTF_Var_getFloatValue(v_floatVarIdx),2.0, vl_eps);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="1");
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_intVar) !="1");
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="1.000000");
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_floatVar)!="1.000000");
f_setverdictFail(not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_intVar,vl_statValue));
f_setverdictFail(vl_statValue!={intVal:=1});
f_setverdictFail(not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_floatVar,vl_statValue));
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal,1.0, vl_eps);
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=1} );
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal,1.0, vl_eps)
//test addData/adjustContent when enabled:
f_EPTF_Var_adjustContent( v_intVarIdx, { intVal:= 4 } );
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=4);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="2");
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_intVar) !="2");
f_setverdictFail(not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_intVar,vl_statValue));
f_setverdictFail(vl_statValue!={intVal:=2});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=2} );
//float:
//f_EPTF_StatMeasure_addData_delta(vl_statIdx_floatVar, { floatVal:= 100.0 }); //it does not refresh the Variable!
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 4.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="2.000000");
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_floatVar)!="2.000000");
f_setverdictFail( not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_floatVar,vl_statValue));
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal,2.0, vl_eps);
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal, 2.0, vl_eps);
//noVar:
f_EPTF_StatMeasure_addData_delta(vl_statIdx_noVar, { intVal:= 0 });//*this is the init*<<== Without this it does not work
f_EPTF_StatMeasure_addData_delta(vl_statIdx_noVar, { intVal:= 110 });
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="110");
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_noVar)!="110");
f_setverdictFail( not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_noVar,vl_statValue));
f_setverdictFail(vl_statValue!={intVal:=110});
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=110});
f_setverdictFail(f_EPTF_Var_getIntValue(vl_ctrlIdx_noVar)!=110)
//***** testing f_EPTF_StatMeasure_disableStat_delta *********
//int
f_EPTF_StatMeasure_disableStat_delta(vl_statIdx_intVar);
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 4 } )
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=4);
//expected: no difference, add data blocked:
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_intVar) !="2");
f_setverdictFail( not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_intVar,vl_statValue));
f_setverdictFail(vl_statValue!={intVal:=2});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=2} );
//float
f_EPTF_StatMeasure_disableStat_delta(vl_statIdx_floatVar);
//expected: no difference, addData blocked
f_EPTF_StatMeasure_addData_delta(vl_statIdx_floatVar, { floatVal:= 4.0 });
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 4.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="2.000000");
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal, 2.0, vl_eps);
//noVars:
f_EPTF_StatMeasure_disableStat_delta(vl_statIdx_noVar); //While it is applied, the stat. values cannot be refreshed
f_EPTF_StatMeasure_addData_delta(vl_statIdx_noVar, { intVal:= 200 });
//expected: the same as previously, because this action is not performed:
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="110");
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_noVar)!="110");
f_setverdictFail( not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_noVar,vl_statValue));
f_setverdictFail(vl_statValue!={intVal:=110});
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=110});
f_setverdictFail(f_EPTF_Var_getIntValue(vl_ctrlIdx_noVar)!=110);
//***** testing f_EPTF_StatMeasure_enableStat_delta *********
//int
f_EPTF_StatMeasure_enableStat_delta(vl_statIdx_intVar); //now the stat values are refreshed!!!
f_EPTF_Var_refreshContent(v_intVarIdx);
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=4);
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_intVar) !="0");
f_setverdictFail( not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_intVar,vl_statValue));
f_setverdictFail(vl_statValue!={intVal:=0});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=0} );
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 8 } )
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_intVar) !="4");
f_setverdictFail( not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_intVar,vl_statValue));
f_setverdictFail(vl_statValue!={intVal:=4});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=4} );
//float
f_EPTF_StatMeasure_enableStat_delta(vl_statIdx_floatVar);
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 8.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="4.000000");
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal, 4.0, vl_eps);
//noVars:
f_EPTF_StatMeasure_enableStat_delta(vl_statIdx_noVar);
f_EPTF_StatMeasure_addData_delta(vl_statIdx_noVar, { intVal:= 200 });//110->200
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="90");
f_setverdictFail( f_EPTF_StatMeasure_delta2str(vl_statIdx_noVar)!="90");
f_setverdictFail( not f_EPTF_StatMeasure_getStat_delta(vl_statIdx_noVar,vl_statValue));
f_setverdictFail(vl_statValue!={intVal:=90});
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=90});
f_setverdictFail(f_EPTF_Var_getIntValue(vl_ctrlIdx_noVar)!=90)
f_EPTF_Base_cleanup_CT();
}//tc_
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_delta_noVar_bug
//
// Purpose:
// To test the functions
// - f_EPTF_StatMeasure_newStat_delta,
// - f_EPTF_StatMeasure_createVarFromStat
// - f_EPTF_StatMeasure_value2str for content
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them (they are not used here)
// 2. Creates a standalone statistics "delta" by calling f_EPTF_StatMeasure_newStat_delta
// 3. Creates a Variable to the statistics "delta"
// 4. Change the statistics by calling "f_EPTF_StatMeasure_addData_delta"
// 5. Compare the new statistics with the added data
// Expected Result: The tc is passed if the check in step 5 is true
//
///////////////////////////////////////////////////////////
//Status: Ready, Passed but it contains error
//TR: HJ94384 "TitanSim StatMeasure cannot handle standalone float statistics"
testcase tc_EPTF_StatMeasure_Test_delta_noVar_bug() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var integer vl_statIdx_noVar:=-1;
vl_statIdx_noVar:= f_EPTF_StatMeasure_newStat_delta(-1);
f_EPTF_StatMeasure_LogStat(">>>>>vl_statIdx_noVar: "&int2str(vl_statIdx_noVar),vl_statIdx_noVar);
f_EPTF_StatMeasure_changeToFloat_delta(vl_statIdx_noVar);
f_EPTF_StatMeasure_addData_delta(vl_statIdx_noVar, { floatVal:= 110.0 });
f_setverdictFail(f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)=="110.000000");
f_EPTF_Base_cleanup_CT();
}//tc_
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_deltaSum
//
// Purpose:
// To test the functions
// - f_EPTF_StatMeasure_newStat_deltaSum,
// - f_EPTF_StatMeasure_deltaSum2str
// - f_EPTF_StatMeasure_value2str for deltaSum
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them
// 2. Creates all types of stats for the float variable
// 3. Checks if the stats are existed and if their type and VarIdx is the ordered.
// 4. Change the measured values for each statistics with in 3 steps and checks the stat value with more methods
// 5. Change the measured values when the statistic is disabled. Check if the stat results are unchanged
// 6. Set the statistics for enabled, Check if the statistics have been refreshed/changed based on the measured values.
// For noVars statistics there is no measured Variable therefore it is not refreshed after enebled - the values added have been forgotten
// Expected Result: The tc is passed if all checks are true
//
///////////////////////////////////////////////////////////
//Status: Ready, Passed
testcase tc_EPTF_StatMeasure_Test_deltaSum() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var integer vl_statIdx_intVar:=-1;
var integer vl_statIdx_floatVar:=-1;
var integer vl_statIdx_noVar:=-1;
var float vl_eps:=0.001; //epsilon: limit of difference
//Test of f_EPTF_StatMeasure_newStat_deltaSum
//f_EPTF_StatMeasure_LogAll("===Before NewStat===");
vl_statIdx_intVar:= f_EPTF_StatMeasure_newStat_deltaSum(v_intVarIdx);
vl_statIdx_floatVar:= f_EPTF_StatMeasure_newStat_deltaSum(v_floatVarIdx);
vl_statIdx_noVar:= f_EPTF_StatMeasure_newStat_deltaSum(-1);
f_EPTF_Var_refreshContent(v_intVarIdx)
f_EPTF_Var_refreshContent(v_floatVarIdx)
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 20 } )
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 30.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="10"); //20-10
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="20.000000");
f_setverdictFail( f_EPTF_StatMeasure_deltaSum2str(vl_statIdx_intVar) !="10");
f_setverdictFail( f_EPTF_StatMeasure_deltaSum2str(vl_statIdx_floatVar)!="20.000000");
var EPTF_Var_DirectContent vl_statValue;
f_setverdictFail( not f_EPTF_StatMeasure_getStat_deltaSum(vl_statIdx_intVar,vl_statValue));
f_setverdictFail(vl_statValue!={intVal:=10});
f_setverdictFail( not f_EPTF_StatMeasure_getStat_deltaSum(vl_statIdx_floatVar,vl_statValue));
f_setverdictFail(vl_statValue!={floatVal:=20.000000});
//Test of f_EPTF_StatMeasure_createVarFromStat
var integer vl_ctrlIdx_intVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_intVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue)
f_setverdictFail(vl_statValue!={intVal:=10});
var integer vl_ctrlIdx_floatVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_floatVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_setverdictFail(vl_statValue!={floatVal:=20.0});
var integer vl_ctrlIdx_noVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_noVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue)
f_setverdictFail(vl_statValue!={intVal:=0});
//test if the changes are copied
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 60 } )
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 80.4 });
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=60);
f_EPTF_StatMeasure_Test_checkFloatEquality(f_EPTF_Var_getFloatValue(v_floatVarIdx),80.4, vl_eps);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="50"); //60-20
f_setverdictFail( f_EPTF_StatMeasure_deltaSum2str(vl_statIdx_intVar) !="50");
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="70.400000"); //80.4 - 30.0
f_setverdictFail( f_EPTF_StatMeasure_deltaSum2str(vl_statIdx_floatVar)!="70.400000");
v_boolNW := f_EPTF_StatMeasure_getStat_deltaSum(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=50});
v_boolNW := f_EPTF_StatMeasure_getStat_deltaSum(vl_statIdx_floatVar,vl_statValue);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal,70.4, vl_eps);
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=50} );
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal,70.4, vl_eps)
//test addData/adjustContent when enabled:
//int
//f_EPTF_StatMeasure_addData_deltaSum(vl_statIdx_intVar, { intVal:= 160 });//<<== It cannot be used!!!
f_EPTF_Var_adjustContent( v_intVarIdx, { intVal:= 160 } );
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=160);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="150"); //160-100
f_setverdictFail( f_EPTF_StatMeasure_deltaSum2str(vl_statIdx_intVar) !="150");
v_boolNW := f_EPTF_StatMeasure_getStat_deltaSum(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=150});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=150} );
//float:
//f_EPTF_StatMeasure_addData_deltaSum(vl_statIdx_floatVar, { floatVal:= 100.0 }); //it does not refresh the Variable!
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 100.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="90.000000"); //100.0-80.4
f_setverdictFail( f_EPTF_StatMeasure_deltaSum2str(vl_statIdx_floatVar)!="90.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_deltaSum(vl_statIdx_floatVar,vl_statValue);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal, 90.0, vl_eps);
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal, 90.0, vl_eps);
//noVar:
f_EPTF_StatMeasure_addData_deltaSum(vl_statIdx_noVar, { intVal:= 0 });//*this is the init*<<== Without this it does not work
f_EPTF_StatMeasure_addData_deltaSum(vl_statIdx_noVar, { intVal:= 110 });
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="110");
f_setverdictFail( f_EPTF_StatMeasure_deltaSum2str(vl_statIdx_noVar)!="110");
v_boolNW := f_EPTF_StatMeasure_getStat_deltaSum(vl_statIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=110});
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=110});
f_setverdictFail(f_EPTF_Var_getIntValue(vl_ctrlIdx_noVar)!=110)
//***** testing f_EPTF_StatMeasure_disableStat_deltaSum *********
//int
f_EPTF_StatMeasure_disableStat_deltaSum(vl_statIdx_intVar);
//f_EPTF_StatMeasure_addData_deltaSum(vl_statIdx_intVar, { intVal:= 560 });
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 560 } )
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=560);
//expected: no difference, add data blocked: 10->160 is the valid:
f_setverdictFail( f_EPTF_StatMeasure_deltaSum2str(vl_statIdx_intVar) !="150");
v_boolNW := f_EPTF_StatMeasure_getStat_deltaSum(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=150});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=150} );
//float
f_EPTF_StatMeasure_disableStat_deltaSum(vl_statIdx_floatVar);
//expected: no difference, addData blocked
//f_EPTF_StatMeasure_addData_deltaSum(vl_statIdx_floatVar, { floatVal:= 100.0 });
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 100.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="90.000000"); //100.0-80.4
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal, 90.0, vl_eps);
//noVars:
f_EPTF_StatMeasure_disableStat_deltaSum(vl_statIdx_noVar); //While it is applied, the stat. values cannot be refreshed
f_EPTF_StatMeasure_addData_deltaSum(vl_statIdx_noVar, { intVal:= 110 });
//expected: the same as previously, because this action is not performed:
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="110");
f_setverdictFail( f_EPTF_StatMeasure_deltaSum2str(vl_statIdx_noVar)!="110");
v_boolNW := f_EPTF_StatMeasure_getStat_deltaSum(vl_statIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=110});
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=110});
f_setverdictFail(f_EPTF_Var_getIntValue(vl_ctrlIdx_noVar)!=110);
//***** testing f_EPTF_StatMeasure_enableStat_deltaSum *********
//int
f_EPTF_StatMeasure_enableStat_deltaSum(vl_statIdx_intVar); //now the stat values are refreshed!!!
//enable refresh:160->560
f_EPTF_Var_refreshContent(v_intVarIdx)
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=560);
f_setverdictFail( f_EPTF_StatMeasure_deltaSum2str(vl_statIdx_intVar) !="550");
v_boolNW := f_EPTF_StatMeasure_getStat_deltaSum(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=550});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=550} );
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 170 } )
//560->170
f_setverdictFail( f_EPTF_StatMeasure_deltaSum2str(vl_statIdx_intVar) !="160");
v_boolNW := f_EPTF_StatMeasure_getStat_deltaSum(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=160});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=160} );
//float
f_EPTF_StatMeasure_enableStat_deltaSum(vl_statIdx_floatVar);
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 100.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="90.000000");
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal, 90.0, vl_eps);
//noVars:
f_EPTF_StatMeasure_enableStat_deltaSum(vl_statIdx_noVar);
f_EPTF_StatMeasure_addData_deltaSum(vl_statIdx_noVar, { intVal:= 200 });//110->200
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="200");
f_setverdictFail( f_EPTF_StatMeasure_deltaSum2str(vl_statIdx_noVar)!="200");
v_boolNW := f_EPTF_StatMeasure_getStat_deltaSum(vl_statIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=200});
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=200});
f_setverdictFail(f_EPTF_Var_getIntValue(vl_ctrlIdx_noVar)!=200)
f_EPTF_Base_cleanup_CT();
}//tc_
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_min
//
// Purpose:
// To test the functions
// - f_EPTF_StatMeasure_newStat_min,
// - f_EPTF_StatMeasure_min2str
// - f_EPTF_StatMeasure_value2str for minimum
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them
// 2. Creates all types of stats for the float variable
// 3. Checks if the stats are existed and if their type and VarIdx is the ordered.
// 4. Change the measured values for each statistics with in 3 steps and checks the stat value with more methods
// 5. Change the measured values when the statistic is disabled. Check if the stat results are unchanged
// 6. Set the statistics for enabled, Check if the statistics have been refreshed/changed based on the measured values.
// For noVars statistics there is no measured Variable therefore it is not refreshed after enebled - the values added have been forgotten
// Expected Result: The tc is passed if all checks are true
//
///////////////////////////////////////////////////////////
//Status: Ready, Passed
testcase tc_EPTF_StatMeasure_Test_min() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var integer vl_statIdx_intVar:=-1;
var integer vl_statIdx_floatVar:=-1;
var integer vl_statIdx_noVar:=-1;
var float vl_eps:=0.001; //epsilon: limit of difference
//Test of f_EPTF_StatMeasure_newStat_min
vl_statIdx_intVar:= f_EPTF_StatMeasure_newStat_min(v_intVarIdx);
vl_statIdx_floatVar:= f_EPTF_StatMeasure_newStat_min(v_floatVarIdx);
vl_statIdx_noVar:= f_EPTF_StatMeasure_newStat_min(-1);
//=1=
f_EPTF_Var_refreshContent(v_intVarIdx)
f_EPTF_Var_refreshContent(v_floatVarIdx)
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 20 } )
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 30.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="10"); //init value
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="10.000000");
f_setverdictFail( f_EPTF_StatMeasure_min2str(vl_statIdx_intVar) !="10");
f_setverdictFail( f_EPTF_StatMeasure_min2str(vl_statIdx_floatVar)!="10.000000");
var EPTF_Var_DirectContent vl_statValue;
v_boolNW := f_EPTF_StatMeasure_getStat_min(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=10});
v_boolNW := f_EPTF_StatMeasure_getStat_min(vl_statIdx_floatVar,vl_statValue);
f_setverdictFail(vl_statValue!={floatVal:=10.000000});
//Test of f_EPTF_StatMeasure_createVarFromStat
var integer vl_ctrlIdx_intVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_intVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue)
f_setverdictFail(vl_statValue!={intVal:=10});
var integer vl_ctrlIdx_floatVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_floatVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_setverdictFail(vl_statValue!={floatVal:=10.0});
var integer vl_ctrlIdx_noVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_noVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue)
f_setverdictFail(vl_statValue!={intVal:=0});
//=2=
//test if the changes are copied
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 60 } )
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= -20.4 } )
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=60);
f_EPTF_StatMeasure_Test_checkFloatEquality(f_EPTF_Var_getFloatValue(v_floatVarIdx),-20.4, vl_eps);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="10");
f_setverdictFail( f_EPTF_StatMeasure_min2str(vl_statIdx_intVar) !="10");
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="-20.400000");
f_setverdictFail( f_EPTF_StatMeasure_min2str(vl_statIdx_floatVar)!="-20.400000");
v_boolNW := f_EPTF_StatMeasure_getStat_min(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=10});
v_boolNW := f_EPTF_StatMeasure_getStat_min(vl_statIdx_floatVar,vl_statValue);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal,-20.4, vl_eps);
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=10} );
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal,-20.4, vl_eps)
//=3=
//test addData/adjustContent when enabled:
//int
//f_EPTF_StatMeasure_addData_min(vl_statIdx_intVar, { intVal:= 160 });//<<== It cannot be used!!!
f_EPTF_Var_adjustContent( v_intVarIdx, { intVal:= -5 } );
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=-5);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="-5"); //160-100
f_setverdictFail( f_EPTF_StatMeasure_min2str(vl_statIdx_intVar) !="-5");
v_boolNW := f_EPTF_StatMeasure_getStat_min(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=-5});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=-5} );
//float:
//f_EPTF_StatMeasure_addData_min(vl_statIdx_floatVar, { floatVal:= 100.0 }); //it does not refresh the Variable!
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 100.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="-20.400000");
f_setverdictFail( f_EPTF_StatMeasure_min2str(vl_statIdx_floatVar)!="-20.400000");
v_boolNW := f_EPTF_StatMeasure_getStat_min(vl_statIdx_floatVar,vl_statValue);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal, -20.4, vl_eps);
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal, -20.4, vl_eps);
//noVar:
f_EPTF_StatMeasure_addData_min(vl_statIdx_noVar, { intVal:= -6 });//*this is the init*<<== Without this it does not work
f_EPTF_StatMeasure_addData_min(vl_statIdx_noVar, { intVal:= 110 });
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="-6");
f_setverdictFail( f_EPTF_StatMeasure_min2str(vl_statIdx_noVar)!="-6");
v_boolNW := f_EPTF_StatMeasure_getStat_min(vl_statIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=-6});
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=-6});
f_setverdictFail(f_EPTF_Var_getIntValue(vl_ctrlIdx_noVar)!=-6)
//***** testing f_EPTF_StatMeasure_disableStat_min *********
//=4Disabled=
//int
f_EPTF_StatMeasure_disableStat_min(vl_statIdx_intVar);
//f_EPTF_StatMeasure_addData_min(vl_statIdx_intVar, { intVal:= 560 });
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= -100 } )
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=-100);
//expected: no difference, add data blocked:
log( ">>:",f_EPTF_StatMeasure_min2str(vl_statIdx_intVar));
f_setverdictFail( f_EPTF_StatMeasure_min2str(vl_statIdx_intVar) !="-5");
v_boolNW := f_EPTF_StatMeasure_getStat_min(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=-5});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=-5} );
//f_EPTF_StatMeasure_LogAll("===After addData/dis/int===");
//float
f_EPTF_StatMeasure_disableStat_min(vl_statIdx_floatVar);
//expected: no difference, addData blocked
//f_EPTF_StatMeasure_addData_min(vl_statIdx_floatVar, { floatVal:= -30.11 });
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= -30.11 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="-20.400000");
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal, -20.4, vl_eps);
//noVars:
f_EPTF_StatMeasure_disableStat_min(vl_statIdx_noVar); //While it is applied, the stat. values cannot be refreshed
f_EPTF_StatMeasure_addData_min(vl_statIdx_noVar, { intVal:= -10 });
//expected: the same as previously, because this action is not performed:
log( ">>:",f_EPTF_StatMeasure_min2str(vl_statIdx_noVar));
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="-6");
f_setverdictFail( f_EPTF_StatMeasure_min2str(vl_statIdx_noVar)!="-6");
v_boolNW := f_EPTF_StatMeasure_getStat_min(vl_statIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=-6});
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=-6});
f_setverdictFail(f_EPTF_Var_getIntValue(vl_ctrlIdx_noVar)!=-6);
//***** testing f_EPTF_StatMeasure_enableStat_min *********
//=4Enabled=
//int
f_EPTF_StatMeasure_enableStat_min(vl_statIdx_intVar); //now the stat values are refreshed!!!
//enable refresh:-5->-100
f_EPTF_Var_refreshContent(v_intVarIdx)
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=-100);
f_setverdictFail( f_EPTF_StatMeasure_min2str(vl_statIdx_intVar) !="-100");
v_boolNW := f_EPTF_StatMeasure_getStat_min(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=-100});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=-100} );
//f_EPTF_StatMeasure_LogAll("===BeforeS addData_min/int===");
//f_EPTF_StatMeasure_addData_min(vl_statIdx_intVar, { intVal:= 170 });
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 170 } )
//Min:-100
f_setverdictFail( f_EPTF_StatMeasure_min2str(vl_statIdx_intVar) !="-100");
v_boolNW := f_EPTF_StatMeasure_getStat_min(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=-100});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=-100} );
//float
//Min:-30.11
f_EPTF_StatMeasure_enableStat_min(vl_statIdx_floatVar);
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= -30.11 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="-30.110000");
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal,-30.11, vl_eps);
//noVars:
f_EPTF_StatMeasure_enableStat_min(vl_statIdx_noVar);
f_EPTF_StatMeasure_addData_min(vl_statIdx_noVar, { intVal:= 200 });
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="-6");
f_setverdictFail( f_EPTF_StatMeasure_min2str(vl_statIdx_noVar)!="-6");
v_boolNW := f_EPTF_StatMeasure_getStat_min(vl_statIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=-6});
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=-6});
f_setverdictFail(f_EPTF_Var_getIntValue(vl_ctrlIdx_noVar)!=-6)
f_EPTF_Base_cleanup_CT();
}//tc_
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_max
//
// Purpose:
// To test the functions
// - f_EPTF_StatMeasure_newStat_max,
// - f_EPTF_StatMeasure_maxSum2str
// - f_EPTF_StatMeasure_value2str for maximum
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them
// 2. Creates all types of stats for the float variable
// 3. Checks if the stats are existed and if their type and VarIdx is the ordered.
// 4. Change the measured values for each statistics with in 3 steps and checks the stat value with more methods
// 5. Change the measured values when the statistic is disabled. Check if the stat results are unchanged
// 6. Set the statistics for enabled, Check if the statistics have been refreshed/changed based on the measured values.
// For noVars statistics there is no measured Variable therefore it is not refreshed after enebled - the values added have been forgotten
// Expected Result: The tc is passed if all checks are true
//
///////////////////////////////////////////////////////////
//Status: Ready, Passed
testcase tc_EPTF_StatMeasure_Test_max() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var integer vl_statIdx_intVar:=-1;
var integer vl_statIdx_floatVar:=-1;
var integer vl_statIdx_noVar:=-1;
var float vl_eps:=0.001; //epsilon: limit of difference
//Test of f_EPTF_StatMeasure_newStat_max
vl_statIdx_intVar:= f_EPTF_StatMeasure_newStat_max(v_intVarIdx);
vl_statIdx_floatVar:= f_EPTF_StatMeasure_newStat_max(v_floatVarIdx);
vl_statIdx_noVar:= f_EPTF_StatMeasure_newStat_max(-1);
//=1=
f_EPTF_Var_refreshContent(v_intVarIdx)
f_EPTF_Var_refreshContent(v_floatVarIdx)
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 20 } )
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 9.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="20"); //init value
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="10.000000");
f_setverdictFail( f_EPTF_StatMeasure_max2str(vl_statIdx_intVar) !="20");
f_setverdictFail( f_EPTF_StatMeasure_max2str(vl_statIdx_floatVar)!="10.000000");
var EPTF_Var_DirectContent vl_statValue;
v_boolNW := f_EPTF_StatMeasure_getStat_max(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=20});
v_boolNW := f_EPTF_StatMeasure_getStat_max(vl_statIdx_floatVar,vl_statValue);
f_setverdictFail(vl_statValue!={floatVal:=10.000000});
//Test of f_EPTF_StatMeasure_createVarFromStat
var integer vl_ctrlIdx_intVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_intVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue)
f_setverdictFail(vl_statValue!={intVal:=20});
var integer vl_ctrlIdx_floatVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_floatVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_setverdictFail(vl_statValue!={floatVal:=10.0});
var integer vl_ctrlIdx_noVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_noVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue)
f_setverdictFail(vl_statValue!={intVal:=0});
//=2=
//test if the changes are copied
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 60 } )
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 20.4 } )
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=60);
f_EPTF_StatMeasure_Test_checkFloatEquality(f_EPTF_Var_getFloatValue(v_floatVarIdx),20.4, vl_eps);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="60");
f_setverdictFail( f_EPTF_StatMeasure_max2str(vl_statIdx_intVar) !="60");
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="20.400000");
f_setverdictFail( f_EPTF_StatMeasure_max2str(vl_statIdx_floatVar)!="20.400000");
v_boolNW := f_EPTF_StatMeasure_getStat_max(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=60});
v_boolNW := f_EPTF_StatMeasure_getStat_max(vl_statIdx_floatVar,vl_statValue);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal,20.4, vl_eps);
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=60} );
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal,20.4, vl_eps)
//=3=
//test addData/adjustContent when enabled:
//int
//f_EPTF_StatMeasure_addData_max(vl_statIdx_intVar, { intVal:= 160 });//<<== It cannot be used!!!
f_EPTF_Var_adjustContent( v_intVarIdx, { intVal:= -5 } );
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=-5);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="60");
f_setverdictFail( f_EPTF_StatMeasure_max2str(vl_statIdx_intVar) !="60");
v_boolNW := f_EPTF_StatMeasure_getStat_max(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=60});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=60} );
//float:
//f_EPTF_StatMeasure_addData_max(vl_statIdx_floatVar, { floatVal:= 100.0 }); //it does not refresh the Variable!
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 100.1 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="100.100000");
f_setverdictFail( f_EPTF_StatMeasure_max2str(vl_statIdx_floatVar)!="100.100000");
v_boolNW := f_EPTF_StatMeasure_getStat_max(vl_statIdx_floatVar,vl_statValue);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal, 100.1, vl_eps);
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal, 100.1, vl_eps);
//noVar:
f_EPTF_StatMeasure_addData_max(vl_statIdx_noVar, { intVal:= -6 });//*this is the init*<<== Without this it does not work
f_EPTF_StatMeasure_addData_max(vl_statIdx_noVar, { intVal:= 110 });
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="110");
f_setverdictFail( f_EPTF_StatMeasure_max2str(vl_statIdx_noVar)!="110");
v_boolNW := f_EPTF_StatMeasure_getStat_max(vl_statIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=110});
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=110});
f_setverdictFail(f_EPTF_Var_getIntValue(vl_ctrlIdx_noVar)!=110)
//***** testing f_EPTF_StatMeasure_disableStat_max *********
//=4Disabled=
//int
f_EPTF_StatMeasure_disableStat_max(vl_statIdx_intVar);
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 61 } )
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=61);
//expected: no difference, add data blocked:
f_setverdictFail( f_EPTF_StatMeasure_max2str(vl_statIdx_intVar) !="60");
v_boolNW := f_EPTF_StatMeasure_getStat_max(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=60});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=60} );
//float
f_EPTF_StatMeasure_disableStat_max(vl_statIdx_floatVar);
//expected: no difference, addData blocked
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 90.0} )
f_setverdictFail(f_EPTF_Var_getFloatValue(v_floatVarIdx)!=90.0);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="100.100000");
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal, 100.1, vl_eps);
//noVars:
f_EPTF_StatMeasure_disableStat_max(vl_statIdx_noVar); //While it is applied, the stat. values cannot be refreshed
f_EPTF_StatMeasure_addData_max(vl_statIdx_noVar, { intVal:= 100 });
//expected: the same as previously, because this action is not performed:
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="110");
f_setverdictFail( f_EPTF_StatMeasure_max2str(vl_statIdx_noVar)!="110");
v_boolNW := f_EPTF_StatMeasure_getStat_max(vl_statIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=110});
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=110});
f_setverdictFail(f_EPTF_Var_getIntValue(vl_ctrlIdx_noVar)!=110);
//***** testing f_EPTF_StatMeasure_enableStat_max *********
//=4Enabled=
//int
f_EPTF_StatMeasure_enableStat_max(vl_statIdx_intVar); //now the stat values are refreshed!!!
//enable refresh:-5->-100
f_EPTF_Var_refreshContent(v_intVarIdx)
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=61);
f_setverdictFail( f_EPTF_StatMeasure_max2str(vl_statIdx_intVar) !="61");
v_boolNW := f_EPTF_StatMeasure_getStat_max(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=61});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=61} );
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 170 } )
//max:170
f_setverdictFail( f_EPTF_StatMeasure_max2str(vl_statIdx_intVar) !="170");
v_boolNW := f_EPTF_StatMeasure_getStat_max(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=170});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValue);
f_setverdictFail( vl_statValue!={ intVal:=170} );
//float
//max:100.1
f_EPTF_StatMeasure_enableStat_max(vl_statIdx_floatVar);
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 100.1 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="100.100000");
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue.floatVal,100.1, vl_eps);
//noVars:
f_EPTF_StatMeasure_enableStat_max(vl_statIdx_noVar);
f_EPTF_StatMeasure_addData_max(vl_statIdx_noVar, { intVal:= 90 });
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="110");
f_setverdictFail( f_EPTF_StatMeasure_max2str(vl_statIdx_noVar)!="110");
v_boolNW := f_EPTF_StatMeasure_getStat_max(vl_statIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=110});
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={intVal:=110});
f_setverdictFail(f_EPTF_Var_getIntValue(vl_ctrlIdx_noVar)!=110)
f_EPTF_Base_cleanup_CT();
}//tc_
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_mean
//
// Purpose:
// To test the functions
// - f_EPTF_StatMeasure_newStat_mean,
// - f_EPTF_StatMeasure_mean2str
// - f_EPTF_StatMeasure_value2str for deltaSum
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them
// 2. Creates all types of stats for the float variable
// 3. Checks if the stats are existed and if their type and VarIdx is the ordered.
// 4. Change the measured values for each statistics with in 3 steps and checks the stat value with more methods
// 5. Change the measured values when the statistic is disabled. Check if the stat results are unchanged
// 6. Set the statistics for enabled, Check if the statistics have been refreshed/changed based on the measured values.
// For noVars statistics there is no measured Variable therefore it is not refreshed after enebled - the values added have been forgotten
// Expected Result: The tc is passed if all checks are true
//
///////////////////////////////////////////////////////////
//Status: Ready, Passed
testcase tc_EPTF_StatMeasure_Test_mean() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var integer vl_statIdx_intVar:=-1;
var integer vl_statIdx_floatVar:=-1;
var integer vl_statIdx_noVar:=-1;
var float vl_eps:=0.001; //epsilon: limit of difference
//Test of f_EPTF_StatMeasure_newStat_mean
vl_statIdx_intVar:= f_EPTF_StatMeasure_newStat_mean(v_intVarIdx);
vl_statIdx_floatVar:= f_EPTF_StatMeasure_newStat_mean(v_floatVarIdx);
vl_statIdx_noVar:= f_EPTF_StatMeasure_newStat_mean(-1);
//=1=
f_EPTF_Var_refreshContent(v_intVarIdx)
f_EPTF_Var_refreshContent(v_floatVarIdx)
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 20 } )
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 9.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="15.000000"); //init value
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="9.500000");
f_setverdictFail( f_EPTF_StatMeasure_mean2str(vl_statIdx_intVar) !="15.000000");
f_setverdictFail( f_EPTF_StatMeasure_mean2str(vl_statIdx_floatVar)!="9.500000");
var float vl_statValue:=-1.0;
var EPTF_Var_DirectContent vl_statValueContent;
f_setverdictFail(not f_EPTF_StatMeasure_getStat_mean(vl_statIdx_intVar,vl_statValue));
f_setverdictFail(vl_statValue!=15.0);
v_boolNW := f_EPTF_StatMeasure_getStat_mean(vl_statIdx_floatVar,vl_statValue);
f_setverdictFail(vl_statValue!=9.5);
//Test of f_EPTF_StatMeasure_createVarFromStat
var integer vl_ctrlIdx_intVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_intVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValueContent);
f_setverdictFail(vl_statValueContent!={floatVal:= 15.0});
var integer vl_ctrlIdx_floatVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_floatVar,"");
f_EPTF_StatMeasure_Test_checkFloatEquality(f_EPTF_Var_getFloatValue(vl_ctrlIdx_floatVar),9.5, vl_eps);
var integer vl_ctrlIdx_noVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_noVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValueContent)
f_setverdictFail(vl_statValueContent!={floatVal:= 0.0});
//=2=
//test if the changes are copied
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 60 } )
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 41.0 } )
//f_EPTF_StatMeasure_LogAll("===After New Adjust===");
//int:
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=60);
f_EPTF_StatMeasure_Test_checkFloatEquality(f_EPTF_Var_getFloatValue(v_floatVarIdx),41.0, vl_eps);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="30.000000");
f_setverdictFail( f_EPTF_StatMeasure_mean2str(vl_statIdx_intVar) !="30.000000");
//float:
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="20.000000");
f_setverdictFail( f_EPTF_StatMeasure_mean2str(vl_statIdx_floatVar)!="20.000000");
//test of f_EPTF_StatMeasure_getStat_mean
f_setverdictFail(not f_EPTF_StatMeasure_getStat_mean(vl_statIdx_intVar,vl_statValue));
f_setverdictFail(vl_statValue!=30.0);
f_setverdictFail(not f_EPTF_StatMeasure_getStat_mean(vl_statIdx_floatVar,vl_statValue));
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue,20.0, vl_eps);
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValueContent);
f_setverdictFail(vl_statValueContent.floatVal!=30.0);
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValueContent)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValueContent.floatVal,20.0, vl_eps)
//=3=
//test addData/adjustContent when enabled:
//int
f_EPTF_Var_adjustContent( v_intVarIdx, { intVal:= 10 } );
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=10);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="25.000000");
f_setverdictFail( f_EPTF_StatMeasure_mean2str(vl_statIdx_intVar) !="25.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_mean(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!=25.0);
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValueContent);
f_setverdictFail( vl_statValueContent!={ floatVal:=25.0} );
//float:
//f_EPTF_StatMeasure_addData_mean(vl_statIdx_floatVar, { floatVal:= 100.0 }); //it does not refresh the Variable!
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 40.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="25.000000");
f_setverdictFail( f_EPTF_StatMeasure_mean2str(vl_statIdx_floatVar)!="25.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_mean(vl_statIdx_floatVar,vl_statValue);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue, 25.0, vl_eps);
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValueContent)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValueContent.floatVal, 25.0, vl_eps);
//noVar:
f_EPTF_StatMeasure_addData_mean(vl_statIdx_noVar, -10.0 );//*this is the init*<<== Without this it does not work
f_EPTF_StatMeasure_addData_mean(vl_statIdx_noVar, 110.0);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="50.000000");
f_setverdictFail( f_EPTF_StatMeasure_mean2str(vl_statIdx_noVar)!="50.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_mean(vl_statIdx_noVar,vl_statValue);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue, 50.0, vl_eps);
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValueContent);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValueContent.floatVal, 50.0, vl_eps);
//***** testing f_EPTF_StatMeasure_disableStat_mean *********
//=4Disabled=
//int
f_EPTF_StatMeasure_disableStat_mean(vl_statIdx_intVar);
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 50 } )
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=50);
//expected: no difference, add data blocked:
f_setverdictFail( f_EPTF_StatMeasure_mean2str(vl_statIdx_intVar) !="25.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_mean(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!=25.0);
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValueContent);
f_setverdictFail( vl_statValueContent!={ floatVal:=25.0} );
//f_EPTF_StatMeasure_LogAll("===After addData/dis/int===");
//float
f_EPTF_StatMeasure_disableStat_mean(vl_statIdx_floatVar);
//expected: no difference, addData blocked
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 60.0} )
f_setverdictFail(f_EPTF_Var_getFloatValue(v_floatVarIdx)!=60.0);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="25.000000");
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValueContent)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValueContent.floatVal, 25.0, vl_eps);
//noVars:
f_EPTF_StatMeasure_disableStat_mean(vl_statIdx_noVar); //While it is applied, the stat. values cannot be refreshed
f_EPTF_StatMeasure_addData_mean(vl_statIdx_noVar, 50000.0); //it will be forgotten
//expected: the same as previously, because this action is not performed:
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="50.000000");
f_setverdictFail( f_EPTF_StatMeasure_mean2str(vl_statIdx_noVar)!="50.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_mean(vl_statIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!= 50.0);
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValueContent);
f_setverdictFail(vl_statValueContent!={floatVal:=50.0});
f_setverdictFail(f_EPTF_Var_getFloatValue(vl_ctrlIdx_noVar)!=50.0);
//***** testing f_EPTF_StatMeasure_enableStat_mean *********
//=4Enabled=
//int
f_EPTF_StatMeasure_enableStat_mean(vl_statIdx_intVar); //now the stat values are refreshed!!!
//enable refresh:
f_EPTF_Var_refreshContent(v_intVarIdx)
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=50);
f_setverdictFail( f_EPTF_StatMeasure_mean2str(vl_statIdx_intVar) !="30.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_mean(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!=30.0);
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValueContent);
f_setverdictFail( vl_statValueContent!={ floatVal:=30.0} );
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 30 } )
f_setverdictFail( f_EPTF_StatMeasure_mean2str(vl_statIdx_intVar) !="30.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_mean(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!=30.0);
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValueContent);
f_setverdictFail( vl_statValueContent!={ floatVal:=30.0} );
//float
f_EPTF_StatMeasure_enableStat_mean(vl_statIdx_floatVar);
f_EPTF_Var_refreshContent(v_floatVarIdx)
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 20.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="30.000000");
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValueContent)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValueContent.floatVal,30.0, vl_eps);
//noVars:
f_EPTF_StatMeasure_enableStat_mean(vl_statIdx_noVar);
f_EPTF_StatMeasure_addData_mean(vl_statIdx_noVar, 50.0 );
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="50.000000");
f_setverdictFail( f_EPTF_StatMeasure_mean2str(vl_statIdx_noVar)!="50.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_mean(vl_statIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!=50.0);
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValueContent);
f_setverdictFail(vl_statValue!=50.0);
f_setverdictFail(f_EPTF_Var_getFloatValue(vl_ctrlIdx_noVar)!=50.0)
f_EPTF_Base_cleanup_CT();
}//tc_
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_standardDev
//
// Purpose:
// To test the functions
// - f_EPTF_StatMeasure_newStat_standardDev,
// - f_EPTF_StatMeasure_standardDev2str
// - f_EPTF_StatMeasure_value2str for standardDev
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them
// 2. Creates all types of stats for the float variable
// 3. Checks if the stats are existed and if their type and VarIdx is the ordered.
// 4. Change the measured values for each statistics with in 3 steps and checks the stat value with more methods
// 5. Change the measured values when the statistic is disabled. Check if the stat results are unchanged
// 6. Set the statistics for enabled, Check if the statistics have been refreshed/changed based on the measured values.
// For noVars statistics there is no measured Variable therefore it is not refreshed after enebled - the values added have been forgotten
//
// Expected Result: The tc is passed if all checks are true
//
///////////////////////////////////////////////////////////
//Status: Ready
testcase tc_EPTF_StatMeasure_Test_standardDev() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var EPTF_Var_DirectContent vl_statValueContent;
var integer vl_statIdx_intVar:=-1;
var integer vl_statIdx_floatVar:=-1;
var integer vl_statIdx_noVar:=-1;
var float vl_eps:=0.001; //epsilon: limit of difference
var float vl_D := 0.0; //expected value
var float vl_stdDev:=0.0; //the tested value
var EPTF_FloatList vl_measuredValues := {10.0, 20.0, 60.0, 10.0, 50.0, 30.0}
//f_EPTF_StatMeasure_LogAll("===Before NewStat===");
//Test of f_EPTF_StatMeasure_newStat_standardDev
vl_statIdx_intVar:= f_EPTF_StatMeasure_newStat_standardDev(v_intVarIdx);
vl_statIdx_floatVar:= f_EPTF_StatMeasure_newStat_standardDev(v_floatVarIdx);
vl_statIdx_noVar:= f_EPTF_StatMeasure_newStat_standardDev(-1);
vl_D:= f_EPTF_StatMeasure_Test_getStandardDevSq(vl_measuredValues);
//======== integer test ==========
var integer vl_ctrlIdx_intVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_intVar,"");
//for i:=0 it is initialized
var integer vl_size:= sizeof(vl_measuredValues);
//===Adjust===
for(var integer i:=0; i<vl_size;i:=i+1) {
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= float2int( vl_measuredValues[i]) } );
}
//f_EPTF_StatMeasure_LogAll("===After adjustContent calls===");
vl_stdDev:= str2float(f_EPTF_StatMeasure_value2str(vl_statIdx_intVar));
log(">>>vl_stdDev (tested value): ",vl_stdDev);
log(">>> Square of the expected value:", vl_D);
//test1:
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_D, vl_stdDev, vl_eps)
//test2:
f_setverdictFail(f_EPTF_StatMeasure_value2str(vl_statIdx_intVar)!=f_EPTF_StatMeasure_standardDev2str(vl_statIdx_intVar))
//test3
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValueContent);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_D, vl_statValueContent.floatVal, vl_eps);
//=========== float test ===============
var integer vl_ctrlIdx_floatVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_floatVar,"");
//===Adjust===
for(var integer i:=0; i<vl_size;i:=i+1) {
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= vl_measuredValues[i] } );
}
//f_EPTF_StatMeasure_LogAll("===After float adjustContent calls===");
vl_stdDev:= str2float(f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar));
//log(">>>vl_stdDev (tested value): ",vl_stdDev);
//log(">>> Square of the expected value:", vl_D);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_D, vl_stdDev, vl_eps)
//test2:
f_setverdictFail(f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!=f_EPTF_StatMeasure_standardDev2str(vl_statIdx_floatVar))
//test3
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValueContent);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_D, vl_statValueContent.floatVal, vl_eps);
//=========== noVars test ==============
var integer vl_ctrlIdx_noVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_noVar,"");
//===Adjust===
for(var integer i:=0; i<vl_size;i:=i+1) {
f_EPTF_StatMeasure_addData_standardDev(vl_statIdx_noVar,vl_measuredValues[i]);
}
//f_EPTF_StatMeasure_LogAll("===After float adjustContent calls===");
vl_stdDev:= str2float(f_EPTF_StatMeasure_value2str(vl_statIdx_noVar));
//log(">>>vl_stdDev (tested value): ",vl_stdDev);
//log(">>>Square of the expected value:", vl_D);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_D, vl_stdDev, vl_eps)
//test2:
f_setverdictFail(f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!=f_EPTF_StatMeasure_standardDev2str(vl_statIdx_noVar))
//test3
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValueContent);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_D, vl_statValueContent.floatVal, vl_eps);
f_EPTF_Base_cleanup_CT();
}//tc_
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_EPS
//
// Purpose:
// To test the functions
// - f_EPTF_StatMeasure_newStat_EPS,
// - f_EPTF_StatMeasure_getMeasurementLength_EPS
// - f_EPTF_StatMeasure_getTime_EPS
// - f_EPTF_StatMeasure_value2str for EPS
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them
// 2. Creates 3 EPS type of stats. One for the int variable, one for the float variable and one without variable
// 4. Clears first statistics (int statistics)
// 5. Adjust int variable vl_N=100 times. Update the statistics. Then checks the stat value with more methods
// 6. Clears first statistics
// 7. Add new data to the statistics vl_N=100 times. Update the statistics. Then checks the stat value with more methods
// 8. Do 4-7steps with the second statistics (float statistics)
// 9. Do 6-7steps with the third statistics (noVars statistics)
// Expected Result: The tc is passed if all checks are true
//
///////////////////////////////////////////////////////////
//Status: Ready
testcase tc_EPTF_StatMeasure_Test_EPS() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var EPTF_Var_DirectContent vl_statValueContent;
var integer vl_statIdx_intVar:=-1;
var integer vl_statIdx_floatVar:=-1;
var integer vl_statIdx_noVar:=-1;
var float vl_eps:=tsp_eps; //epsilon: limit of difference
var float vl_measuredTime:=1.0;
//var float vl_statTime:-0.0
var float vl_statValue:=0.0; //measured stat value to be tested
var integer vl_N:= 100; //number of event to be generated
timer T_1:= 0.0;
var float vl_expectedValue:=0.0
//Test of f_EPTF_StatMeasure_newStat_EPS
vl_statIdx_intVar:= f_EPTF_StatMeasure_newStat_EPS(v_intVarIdx);
vl_statIdx_floatVar:= f_EPTF_StatMeasure_newStat_EPS(v_floatVarIdx);
vl_statIdx_noVar:= f_EPTF_StatMeasure_newStat_EPS(-1);
//======== integer test ==========
var integer vl_ctrlIdx_intVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_intVar,"");
//=== Test for Adjust ===
f_EPTF_StatMeasure_resetStat_EPS(vl_statIdx_intVar);
f_EPTF_StatMeasure_startMeasurement_EPS(vl_statIdx_intVar);
T_1.start(vl_measuredTime);
for(var integer i:=0; i<vl_N;i:=i+1) {
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 1 } );
}
T_1.timeout;
f_EPTF_StatMeasure_update_EPS(vl_statIdx_intVar);
//time:
//vl_statTime:= f_EPTF_StatMeasure_getTime_EPS(vl_statIdx_intVar);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getTime_EPS(vl_statIdx_intVar), vl_eps);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getMeasurementLength_EPS(vl_statIdx_intVar), vl_eps);
//eps:
vl_expectedValue:=int2float(vl_N)/vl_measuredTime;
log("expectedValue: ",vl_expectedValue,", createdVarIdx: ",vl_ctrlIdx_intVar,", value: ",f_EPTF_Var_getFloatValue(vl_ctrlIdx_intVar));
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_expectedValue, f_EPTF_Var_getFloatValue(vl_ctrlIdx_intVar), vl_eps);
//reset
f_EPTF_StatMeasure_resetStat_EPS(vl_statIdx_intVar);
//test for addData
f_EPTF_StatMeasure_startMeasurement_EPS(vl_statIdx_intVar);
T_1.start(vl_measuredTime);
for(var integer i:=0; i<vl_N;i:=i+1) {
f_EPTF_StatMeasure_addData_EPS(vl_statIdx_intVar);
}
T_1.timeout;
f_EPTF_StatMeasure_update_EPS(vl_statIdx_intVar);
//time:
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getTime_EPS(vl_statIdx_intVar), vl_eps);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getMeasurementLength_EPS(vl_statIdx_intVar), vl_eps);
//eps:
vl_expectedValue:=int2float(vl_N)/vl_measuredTime;
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_expectedValue, f_EPTF_Var_getFloatValue(vl_ctrlIdx_intVar), vl_eps);
//log("Measured eps: ",f_EPTF_Var_getFloatValue(vl_ctrlIdx_intVar));
//log("Expected eps: ",vl_expectedValue);
//=========== float test ===============
var integer vl_ctrlIdx_floatVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_floatVar,"");
//=== Test for Adjust ===
f_EPTF_StatMeasure_resetStat_EPS(vl_statIdx_floatVar);
f_EPTF_StatMeasure_startMeasurement_EPS(vl_statIdx_floatVar);
T_1.start(vl_measuredTime);
for(var integer i:=0; i<vl_N;i:=i+1) {
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 1.0 } );
}
T_1.timeout;
f_EPTF_StatMeasure_update_EPS(vl_statIdx_floatVar);
//time:
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getTime_EPS(vl_statIdx_floatVar), vl_eps);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getMeasurementLength_EPS(vl_statIdx_floatVar), vl_eps);
//eps:
vl_expectedValue:=int2float(vl_N)/vl_measuredTime;
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_expectedValue, f_EPTF_Var_getFloatValue(vl_ctrlIdx_floatVar), vl_eps);
//test for f_EPTF_StatMeasure_getStat_EPS
v_boolNW := f_EPTF_StatMeasure_getStat_EPS(vl_statIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue,f_EPTF_Var_getFloatValue(vl_ctrlIdx_floatVar), vl_eps)
//reset
f_EPTF_StatMeasure_resetStat_EPS(vl_statIdx_floatVar);
//Test for addData
f_EPTF_StatMeasure_startMeasurement_EPS(vl_statIdx_floatVar);
T_1.start(vl_measuredTime);
for(var integer i:=0; i<vl_N;i:=i+1) {
f_EPTF_StatMeasure_addData_EPS(vl_statIdx_floatVar);
}
T_1.timeout;
f_EPTF_StatMeasure_update_EPS(vl_statIdx_floatVar);
//time:
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getTime_EPS(vl_statIdx_floatVar), vl_eps);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getMeasurementLength_EPS(vl_statIdx_floatVar), vl_eps);
//eps:
vl_expectedValue:=int2float(vl_N)/vl_measuredTime;
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_expectedValue, f_EPTF_Var_getFloatValue(vl_ctrlIdx_floatVar), vl_eps);
//=========== noVars test ==============
var integer vl_ctrlIdx_noVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_noVar,"");
//Test for addData
f_EPTF_StatMeasure_resetStat_EPS(vl_statIdx_noVar);
f_EPTF_StatMeasure_startMeasurement_EPS(vl_statIdx_noVar);
T_1.start(vl_measuredTime);
for(var integer i:=0; i<vl_N;i:=i+1) {
f_EPTF_StatMeasure_addData_EPS(vl_statIdx_noVar);
}
T_1.timeout;
f_EPTF_StatMeasure_update_EPS(vl_statIdx_noVar);
//time:
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getTime_EPS(vl_statIdx_noVar), vl_eps);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getMeasurementLength_EPS(vl_statIdx_noVar), vl_eps);
//eps:
vl_expectedValue:=int2float(vl_N)/vl_measuredTime;
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_expectedValue, f_EPTF_Var_getFloatValue(vl_ctrlIdx_noVar), vl_eps);
f_EPTF_Base_cleanup_CT();
}//tc_
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_autoUpdate_EPS
//
// Purpose:
// To test the functions
// - f_EPTF_StatMeasure_update_EPS,
// - f_EPTF_StatMeasure_registerDefaultUpdate_EPS
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them
// 2. Creates 3 EPS type of stats. One for the int variable, one for the float variable and one without variable
// 3. Set auto update of the statistics. They are updated in every tsp_EPTF_Var_SyncInterval.
// 4. Clears first statistics (int statistics)
// 5. Adjust int variable vl_N=100 times. Then checks the stat value with more methods
// 6. Clears first statistics
// 7. Add new data to the statistics vl_N=100 times. Then checks the stat value with more methods
// 8. Do 4-7steps with the second statistics (float statistics)
// 9. Do 6-7steps with the third statistics (noVars statistics)
// Expected Result: The tc is passed if all checks are true
//
///////////////////////////////////////////////////////////
//Status: Ready
testcase tc_EPTF_StatMeasure_Test_autoUpdate_EPS() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var EPTF_Var_DirectContent vl_statValueContent;
var integer vl_statIdx_intVar:=-1;
var integer vl_statIdx_floatVar:=-1;
var integer vl_statIdx_noVar:=-1;
var float vl_eps:=tsp_eps; //epsilon: limit of difference
var float vl_measuredTime:=2.0;
//var float vl_statTime:-0.0
var float vl_statValue:=0.0; //measured stat value to be tested
var integer vl_N:= 100; //number of event to be generated
timer T_1:= 1.0;
var float vl_expectedValue:=0.0
T_1.start;
T_1.timeout;
f_EPTF_Var_adjustContent(v_timerVarIdx,{floatVal:= f_EPTF_Base_getRelTimeInSecs()});
//Test of f_EPTF_StatMeasure_newStat_EPS
vl_statIdx_intVar:= f_EPTF_StatMeasure_newStat_EPS(v_intVarIdx);
vl_statIdx_floatVar:= f_EPTF_StatMeasure_newStat_EPS(v_floatVarIdx);
vl_statIdx_noVar:= f_EPTF_StatMeasure_newStat_EPS(-1);
// creating EPTF_Var from stat
var integer vl_ctrlIdx_intVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_intVar,"");
var integer vl_ctrlIdx_floatVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_floatVar,"");
var integer vl_ctrlIdx_noVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_noVar,"");
//setting auto update
f_EPTF_StatMeasure_registerDefaultUpdate_EPS(vl_statIdx_intVar);
f_EPTF_StatMeasure_registerDefaultUpdate_EPS(vl_statIdx_floatVar);
f_EPTF_StatMeasure_registerDefaultUpdate_EPS(vl_statIdx_noVar);
//======== integer test ==========
//adding function for checking f_EPTF_StatMeasure_getMeasurementLength_EPS() value and expectedValue
f_EPTF_Var_addSyncCallBackFn(
refers(f_test_checkDefaultUpdate_EPS),
{vl_statIdx_intVar, vl_N});
//=== Test for Adjust ===
f_EPTF_StatMeasure_resetStat_EPS(vl_statIdx_intVar);
f_EPTF_StatMeasure_startMeasurement_EPS(vl_statIdx_intVar);
f_EPTF_Var_adjustContent(v_timerVarIdx,{floatVal:= f_EPTF_Base_getRelTimeInSecs()});
T_1.start(vl_measuredTime);
for(var integer i:=0; i<vl_N;i:=i+1) {
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 1 } );
}
T_1.timeout;
//time:
//vl_statTime:= f_EPTF_StatMeasure_getTime_EPS(vl_statIdx_intVar);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getTime_EPS(vl_statIdx_intVar), vl_eps);
//=== test for addData ===
f_EPTF_StatMeasure_resetStat_EPS(vl_statIdx_intVar);
f_EPTF_StatMeasure_startMeasurement_EPS(vl_statIdx_intVar);
f_EPTF_Var_adjustContent(v_timerVarIdx,{floatVal:= f_EPTF_Base_getRelTimeInSecs()});
T_1.start(vl_measuredTime);
for(var integer i:=0; i<vl_N;i:=i+1) {
f_EPTF_StatMeasure_addData_EPS(vl_statIdx_intVar);
}
T_1.timeout;
//time:
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getTime_EPS(vl_statIdx_intVar), vl_eps);
// removing checking function
f_EPTF_Var_removeSyncCallBackFn({
refers(f_test_checkDefaultUpdate_EPS),
{vl_statIdx_intVar, vl_N},
c_EPTF_Var_syncBegin
});
//=========== float test ===============
//adding function for checking f_EPTF_StatMeasure_getMeasurementLength_EPS() value and expectedValue
f_EPTF_Var_addSyncCallBackFn(
refers(f_test_checkDefaultUpdate_EPS),
{vl_statIdx_floatVar, vl_N});
//=== Test for Adjust ===
f_EPTF_StatMeasure_resetStat_EPS(vl_statIdx_floatVar);
f_EPTF_StatMeasure_startMeasurement_EPS(vl_statIdx_floatVar);
f_EPTF_Var_adjustContent(v_timerVarIdx,{floatVal:= f_EPTF_Base_getRelTimeInSecs()});
T_1.start(vl_measuredTime);
for(var integer i:=0; i<vl_N;i:=i+1) {
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 1.0 } );
}
T_1.timeout;
//time:
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getTime_EPS(vl_statIdx_floatVar), vl_eps);
//test for f_EPTF_StatMeasure_getStat_EPS
v_boolNW := f_EPTF_StatMeasure_getStat_EPS(vl_statIdx_floatVar,vl_statValue)
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue,f_EPTF_Var_getFloatValue(vl_ctrlIdx_floatVar), vl_eps)
//=== test for addData ===
f_EPTF_StatMeasure_resetStat_EPS(vl_statIdx_floatVar);
f_EPTF_StatMeasure_startMeasurement_EPS(vl_statIdx_floatVar);
f_EPTF_Var_adjustContent(v_timerVarIdx,{floatVal:= f_EPTF_Base_getRelTimeInSecs()});
T_1.start(vl_measuredTime);
for(var integer i:=0; i<vl_N;i:=i+1) {
f_EPTF_StatMeasure_addData_EPS(vl_statIdx_floatVar);
}
T_1.timeout;
//time:
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getTime_EPS(vl_statIdx_floatVar), vl_eps);
// removing checking function
f_EPTF_Var_removeSyncCallBackFn({
refers(f_test_checkDefaultUpdate_EPS),
{vl_statIdx_floatVar, vl_N},
c_EPTF_Var_syncBegin
});
//=========== noVars test ==============
//adding function for checking f_EPTF_StatMeasure_getMeasurementLength_EPS() value and expectedValue
f_EPTF_Var_addSyncCallBackFn(
refers(f_test_checkDefaultUpdate_EPS),
{vl_statIdx_noVar, vl_N});
//=== test for addData ===
f_EPTF_StatMeasure_resetStat_EPS(vl_statIdx_noVar);
f_EPTF_StatMeasure_startMeasurement_EPS(vl_statIdx_noVar);
f_EPTF_Var_adjustContent(v_timerVarIdx,{floatVal:= f_EPTF_Base_getRelTimeInSecs()});
T_1.start(vl_measuredTime);
for(var integer i:=0; i<vl_N;i:=i+1) {
f_EPTF_StatMeasure_addData_EPS(vl_statIdx_noVar);
}
T_1.timeout;
//time:
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getTime_EPS(vl_statIdx_noVar), vl_eps);
// removing checking function
f_EPTF_Var_removeSyncCallBackFn({
refers(f_test_checkDefaultUpdate_EPS),
{vl_statIdx_noVar, vl_N},
c_EPTF_Var_syncBegin
});
//cleanup
f_EPTF_Base_cleanup_CT();
}//tc_
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_chrono
//
// Purpose:
// To test the functions
// - f_EPTF_StatMeasure_newStat_chrono,
// - f_EPTF_StatMeasure_getTime_chrono
// - f_EPTF_StatMeasure_getMeasurementLength_chrono
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them
// 2. Creates all types of stats for the float variable
// 3. Checks if the stats are existed and if their type and VarIdx is the ordered.
// 4. Change the measured values for each statistics with in 3 steps and checks the stat value with more methods
// 5. Change the measured values when the statistic is disabled. Check if the stat results are unchanged
// 6. Set the statistics for enabled, Check if the statistics have been refreshed/changed based on the measured values.
// For noVars statistics there is no measured Variable therefore it is not refreshed after enebled - the values added have been forgotten
// Expected Result: The tc is passed if all checks are true
//
///////////////////////////////////////////////////////////
//Status: Ready
testcase tc_EPTF_StatMeasure_Test_chrono() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var EPTF_Var_DirectContent vl_statValueContent;
var integer vl_statIdx_intVar:=-1;
var integer vl_statIdx_floatVar:=-1;
var integer vl_statIdx_noVar:=-1;
var float vl_eps:=tsp_eps; //epsilon: limit of difference
var float vl_measuredTime:=1.0;
//var float vl_statTime:-0.0
var float vl_statValue:=0.0; //measured stat value to be tested
var integer vl_N:= 100; //number of event to be generated
timer T_1:= 0.0;
var float vl_expectedValue:=0.0
//Test of f_EPTF_StatMeasure_newStat_chrono
vl_statIdx_intVar:= f_EPTF_StatMeasure_newStat_chrono(v_intVarIdx);
vl_statIdx_floatVar:= f_EPTF_StatMeasure_newStat_chrono(v_floatVarIdx);
vl_statIdx_noVar:= f_EPTF_StatMeasure_newStat_chrono(-1);
//======== integer test ==========
var integer vl_ctrlIdx_intVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_intVar,"");
//=== Test for Adjust ===
f_EPTF_StatMeasure_resetStat_chrono(vl_statIdx_intVar);
f_EPTF_StatMeasure_start_chrono(vl_statIdx_intVar);
T_1.start(vl_measuredTime);
for(var integer i:=0; i<vl_N;i:=i+1) {
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 1 } );
}
T_1.timeout;
f_EPTF_StatMeasure_update_chrono(vl_statIdx_intVar);
//time:
//vl_statTime:= f_EPTF_StatMeasure_getTime_chrono(vl_statIdx_intVar);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getTime_chrono(vl_statIdx_intVar), vl_eps);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getMeasurementLength_chrono(vl_statIdx_intVar), vl_eps);
vl_expectedValue:=vl_measuredTime;
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_expectedValue, f_EPTF_Var_getFloatValue(vl_ctrlIdx_intVar), vl_eps);
//reset
f_EPTF_StatMeasure_resetStat_chrono(vl_statIdx_intVar);
//test for addData
f_EPTF_StatMeasure_start_chrono(vl_statIdx_intVar);
T_1.start(vl_measuredTime);
for(var integer i:=0; i<vl_N;i:=i+1) {
f_EPTF_StatMeasure_addData_chrono(vl_statIdx_intVar);
}
T_1.timeout;
f_EPTF_StatMeasure_update_chrono(vl_statIdx_intVar);
//time:
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getTime_chrono(vl_statIdx_intVar), vl_eps);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getMeasurementLength_chrono(vl_statIdx_intVar), vl_eps);
vl_expectedValue:=vl_measuredTime;
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_expectedValue, f_EPTF_Var_getFloatValue(vl_ctrlIdx_intVar), vl_eps);
log("Measured time: ",f_EPTF_Var_getFloatValue(vl_ctrlIdx_intVar));
log("Expected expected: ",vl_expectedValue);
//=========== float test ===============
var integer vl_ctrlIdx_floatVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_floatVar,"");
//=== Test for Adjust ===
f_EPTF_StatMeasure_resetStat_chrono(vl_statIdx_floatVar);
f_EPTF_StatMeasure_start_chrono(vl_statIdx_floatVar);
T_1.start(vl_measuredTime);
for(var integer i:=0; i<vl_N;i:=i+1) {
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 1.0 } );
}
T_1.timeout;
f_EPTF_StatMeasure_update_chrono(vl_statIdx_floatVar);
//time:
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getTime_chrono(vl_statIdx_floatVar), vl_eps);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getMeasurementLength_chrono(vl_statIdx_floatVar), vl_eps);
vl_expectedValue:=vl_measuredTime;
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_expectedValue, f_EPTF_Var_getFloatValue(vl_ctrlIdx_floatVar), vl_eps);
//test for f_EPTF_StatMeasure_getStat_chrono
f_setverdictFail(not f_EPTF_StatMeasure_getStat_chrono(vl_statIdx_floatVar,vl_statValue));
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_statValue,f_EPTF_Var_getFloatValue(vl_ctrlIdx_floatVar), vl_eps)
//reset
f_EPTF_StatMeasure_resetStat_chrono(vl_statIdx_floatVar);
//Test for addData
f_EPTF_StatMeasure_start_chrono(vl_statIdx_floatVar);
T_1.start(vl_measuredTime);
for(var integer i:=0; i<vl_N;i:=i+1) {
f_EPTF_StatMeasure_addData_chrono(vl_statIdx_floatVar);
}
T_1.timeout;
f_EPTF_StatMeasure_update_chrono(vl_statIdx_floatVar);
//time:
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getTime_chrono(vl_statIdx_floatVar), vl_eps);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getMeasurementLength_chrono(vl_statIdx_floatVar), vl_eps);
vl_expectedValue:= vl_measuredTime;
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_expectedValue, f_EPTF_Var_getFloatValue(vl_ctrlIdx_floatVar), vl_eps);
//=========== noVars test ==============
var integer vl_ctrlIdx_noVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_noVar,"");
//Test for addData
f_EPTF_StatMeasure_resetStat_chrono(vl_statIdx_noVar);
f_EPTF_StatMeasure_start_chrono(vl_statIdx_noVar);
T_1.start(vl_measuredTime);
for(var integer i:=0; i<vl_N;i:=i+1) {
f_EPTF_StatMeasure_addData_chrono(vl_statIdx_noVar);
}
T_1.timeout;
f_EPTF_StatMeasure_update_chrono(vl_statIdx_noVar);
//time:
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getTime_chrono(vl_statIdx_noVar), vl_eps);
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_measuredTime, f_EPTF_StatMeasure_getMeasurementLength_chrono(vl_statIdx_noVar), vl_eps);
vl_expectedValue:=vl_measuredTime;
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_expectedValue, f_EPTF_Var_getFloatValue(vl_ctrlIdx_noVar), vl_eps);
f_EPTF_Base_cleanup_CT();
}//tc_
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_density
//
// Purpose:
// To test the functions
// - f_EPTF_StatMeasure_newStat_density,
// - f_EPTF_StatMeasure_mean2str
// - f_EPTF_StatMeasure_value2str for density
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them
// 2. Creates all types of stats for the integer and float variable and for standalone statistics
// 3. Checks if the stats are existed and if their type and VarIdx is the ordered.
// 4. Change the measured values for each statistics with in 3 steps and checks the stat value with more methods
// 5. Change the measured values when the statistic is disabled. Check if the stat results are unchanged
// 6. Set the statistics for enabled, Check if the statistics have been refreshed/changed based on the measured values.
// For noVars statistics there is no measured Variable therefore it is not refreshed after enebled - the values added have been forgotten
// Expected Result: The tc is passed if all checks are true
//
///////////////////////////////////////////////////////////
//Status: Ready
testcase tc_EPTF_StatMeasure_Test_density() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test");
var EPTF_Var_DirectContent vl_statValueContent;
var integer vl_statIdx_intVar:=-1;
var integer vl_statIdx_floatVar:=-1;
var integer vl_statIdx_noVar:=-1;
var EPTF_FloatList vl_measuredValues := {10.0, 20.0, 60.0, 80.0, 100.0, 130.0}
var EPTF_IntegerList vl_densityResult :={};
var EPTF_FloatList vl_densityResultFloat:={};
f_EPTF_StatMeasure_LogAll("===Before NewStat===");
//Test of f_EPTF_StatMeasure_newStat_density
vl_statIdx_intVar:= f_EPTF_StatMeasure_newStat_density({10.1,100.0}, v_intVarIdx);
vl_statIdx_floatVar:= f_EPTF_StatMeasure_newStat_density({10.1,100.0},v_floatVarIdx);
vl_statIdx_noVar:= f_EPTF_StatMeasure_newStat_density({10.1,100.0},-1);
//======== integer test ==========
var integer vl_ctrlIdx_intVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_intVar,"");
//for i:=0 it is initialized
var integer vl_size:= sizeof(vl_measuredValues);
//===Adjust===
for(var integer i:=0; i<vl_size;i:=i+1) {
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= float2int( vl_measuredValues[i]) } );
}
f_EPTF_StatMeasure_LogAll("===After adjustContent calls===");
//test1:
// 10.0 || 20.0, 60.0, 80.0, || 100.0. 130.0
f_setverdictFail(not f_EPTF_StatMeasure_getStat_density(vl_statIdx_intVar, vl_densityResult))
f_setverdictFail( vl_densityResult!={1,3,2} )
//test2:
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar)!="{1,3,2}")
f_setverdictFail( f_EPTF_StatMeasure_density2str(vl_statIdx_intVar)!="{1,3,2}")
//test3
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValueContent);
f_setverdictFail(vl_statValueContent.integerlistVal!={1,3,2})
//test for f_EPTF_StatMeasure_setBoundaries_density:
f_EPTF_StatMeasure_setBoundaries_density(vl_statIdx_intVar,{ 21.0, 11.0, 51.0, 121.0, 101.0})
for(var integer i:=0; i<vl_size;i:=i+1) {
f_EPTF_StatMeasure_addData_density(vl_statIdx_intVar,vl_measuredValues[i]);
}
//test1:
// 10.0 || 20.0 || || 60.0, 80.0, 100.0.|| || 130.0
f_setverdictFail( f_EPTF_StatMeasure_density2str(vl_statIdx_intVar)!="{1,1,0,3,0,1}");
f_setverdictFail(not f_EPTF_StatMeasure_getStat_normalized_density(vl_statIdx_intVar, vl_densityResultFloat));
var EPTF_FloatList vl_expectedDensityFloat:={ 0.166667, 0.166667, 0.0, 0.500000, 0.0, 0.166667}
for( var integer i:=0; i<sizeof(vl_densityResultFloat); i:=i+1) {
f_EPTF_StatMeasure_Test_checkFloatEquality(vl_expectedDensityFloat[i],vl_densityResultFloat[i], 0.0001)
}
//=========== float test ===============
var integer vl_ctrlIdx_floatVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_floatVar,"");
//===Adjust===
for(var integer i:=0; i<vl_size;i:=i+1) {
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= vl_measuredValues[i] } );
}
f_EPTF_StatMeasure_LogAll("===After float adjustContent calls===");
//test1:
// 10.0 || 20.0, 60.0, 80.0, || 100.0. 130.0
f_setverdictFail(not f_EPTF_StatMeasure_getStat_density(vl_statIdx_floatVar, vl_densityResult))
f_setverdictFail( vl_densityResult!={1,3,2} )
//test2:
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="{1,3,2}")
f_setverdictFail( f_EPTF_StatMeasure_density2str(vl_statIdx_floatVar)!="{1,3,2}")
//test3
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValueContent);
f_setverdictFail(vl_statValueContent.integerlistVal!={1,3,2})
//=========== noVars test ==============
var integer vl_ctrlIdx_noVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_noVar,"");
//===AddData===
for(var integer i:=0; i<vl_size;i:=i+1) {
f_EPTF_StatMeasure_addData_density(vl_statIdx_noVar,vl_measuredValues[i]);
}
f_EPTF_StatMeasure_LogAll("===After float adjustContent calls===");
//test1:
// 10.0 || 20.0, 60.0, 80.0, || 100.0. 130.0
f_setverdictFail(not f_EPTF_StatMeasure_getStat_density(vl_statIdx_noVar, vl_densityResult))
f_setverdictFail( vl_densityResult!={1,3,2} )
//test2:
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="{1,3,2}")
f_setverdictFail( f_EPTF_StatMeasure_density2str(vl_statIdx_noVar)!="{1,3,2}")
//test3
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValueContent);
f_setverdictFail(vl_statValueContent.integerlistVal!={1,3,2})
//test for f_EPTF_StatMeasure_setScale_density:
f_EPTF_StatMeasure_setScale_density(vl_statIdx_noVar, 0.0, 100.0, 11);
//boundaries:0,10,20,30,40,50,60,70,80,90,100
for(var integer i:=0; i<vl_size;i:=i+1) {
f_EPTF_StatMeasure_addData_density(vl_statIdx_noVar,vl_measuredValues[i]);
}
f_setverdictFail(not f_EPTF_StatMeasure_getStat_density(vl_statIdx_noVar, vl_densityResult))
f_setverdictFail( vl_densityResult!={ 0,0,1,1,0,0,0,1,0,1,0,2});
f_EPTF_Base_cleanup_CT();
}//tc_
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_StatMeasure_Test_limits
//
// Purpose:
// To test the functions
// - f_EPTF_StatMeasure_newStat_limits,
// - f_EPTF_StatMeasure_limits2str
// - f_EPTF_StatMeasure_value2str for limits
//
// Requirement:
// -
//
// Action:
// The testcase runs on EPTF_StatMeasure_Test_CT. Steps:
// 1. Calls the init function f_EPTF_StatMeasure_Test_init_CT,
// It creates two EPTF_Variables, an int one and a float one and checks them
// 2. Creates all types of stats for the float variable
// 3. Checks if the stats are existed and if their type and VarIdx is the ordered.
// 4. Change the measured values for each statistics with in 3 steps and checks the stat value with more methods
// 5. Change the measured values when the statistic is disabled. Check if the stat results are unchanged
// 6. Set the statistics for enabled, Check if the statistics have been refreshed/changed based on the measured values.
// For noVars statistics there is no measured Variable therefore it is not refreshed after enebled - the values added have been forgotten
// Expected Result: The tc is passed if all checks are true
//
///////////////////////////////////////////////////////////
//Status: Ready, Passed
testcase tc_EPTF_StatMeasure_Test_limits() runs on EPTF_StatMeasure_Test_CT {
setverdict(pass); //init
f_EPTF_StatMeasure_Test_init_CT("StatMeasure_test_limits");
var integer vl_statIdx_intVar:=-1;
var integer vl_statIdx_floatVar:=-1;
var integer vl_statIdx_noVar:=-1;
var integer vl_statIdx_referenceVar:=-1;
var float vl_eps:=0.001; //epsilon: limit of difference
//Test of f_EPTF_StatMeasure_newStat_limits
vl_statIdx_intVar:= f_EPTF_StatMeasure_newStat_limits(v_intVarIdx,{{yellowLimit := 10.1},{redLimit := 100.0}},-,led_green,true);
vl_statIdx_floatVar:= f_EPTF_StatMeasure_newStat_limits(v_floatVarIdx,{{redLimit := 100.0},{yellowLimit := 10.1}},-,led_green,true);
vl_statIdx_noVar:= f_EPTF_StatMeasure_newStat_limits(-1,{{yellowLimit := 10.1},{redLimit := 100.0}},-,led_green,true);
vl_statIdx_referenceVar:= f_EPTF_StatMeasure_newStat_limits(v_floatVarIdx,{{yellowLimit := 10.1},{redLimit := 100.0}},v_intVarIdx,led_green,true);
//=1=
f_EPTF_Var_refreshContent(v_intVarIdx)
f_EPTF_Var_refreshContent(v_floatVarIdx)
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 20 } )
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 22.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="[led:yellow]20.000000"); //init value
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="[led:yellow]22.000000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_intVar) !="[led:yellow]20.000000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_floatVar)!="[led:yellow]22.000000");
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_referenceVar)!="[led:green]22.000000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_referenceVar)!="[led:green]22.000000");
var EPTF_StatusLED vl_statValue;
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_yellow, text:="20.000000"});
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_floatVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_yellow, text:="22.000000"});
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_green, text:=""});
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_referenceVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_green, text:="22.000000"});
//Test of f_EPTF_StatMeasure_createVarFromStat
var EPTF_Var_DirectContent vl_statValueContent;
var integer vl_ctrlIdx_intVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_intVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValueContent)
f_setverdictFail(vl_statValueContent!={statusLEDVal:={color:=led_yellow, text:="20.000000"}});
var integer vl_ctrlIdx_floatVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_floatVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValueContent)
f_setverdictFail(vl_statValueContent!={statusLEDVal:={color:=led_yellow, text:="22.000000"}});
var integer vl_ctrlIdx_noVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_noVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValueContent)
f_setverdictFail(vl_statValueContent!={statusLEDVal:={color:=led_green, text:=""}});
var integer vl_ctrlIdx_referenceVar:=f_EPTF_StatMeasure_createVarFromStat(vl_statIdx_referenceVar,"");
f_EPTF_Var_getContent(vl_ctrlIdx_referenceVar,vl_statValueContent)
f_setverdictFail(vl_statValueContent!={statusLEDVal:={color:=led_green, text:="22.000000"}});
//=2=
//test if the changes are copied
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 60 } )
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= -20.4 } )
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=60);
f_EPTF_StatMeasure_Test_checkFloatEquality(f_EPTF_Var_getFloatValue(v_floatVarIdx),-20.4, vl_eps);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="[led:yellow]60.000000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_intVar) !="[led:yellow]60.000000");
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="[led:green]-20.400000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_floatVar)!="[led:green]-20.400000");
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_referenceVar)!="[led:green]-20.400000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_referenceVar)!="[led:green]-20.400000");
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_yellow, text:="60.000000"});
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_floatVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_green, text:="-20.400000"});
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_referenceVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_green, text:="-20.400000"});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValueContent);
f_setverdictFail( vl_statValueContent!={ statusLEDVal:={color:=led_yellow, text:="60.000000"}} );
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValueContent)
f_setverdictFail( vl_statValueContent!={ statusLEDVal:={color:=led_green, text:="-20.400000"}} );
f_EPTF_Var_getContent(vl_ctrlIdx_referenceVar,vl_statValueContent);
f_setverdictFail( vl_statValueContent!={ statusLEDVal:={color:=led_green, text:="-20.400000"}} );
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 0 } )
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 120.4 } )
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=0);
f_EPTF_StatMeasure_Test_checkFloatEquality(f_EPTF_Var_getFloatValue(v_floatVarIdx),120.4, vl_eps);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="[led:green]0.000000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_intVar) !="[led:green]0.000000");
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="[led:red]120.400000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_floatVar)!="[led:red]120.400000");
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_referenceVar)!="[led:green]120.400000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_referenceVar)!="[led:green]120.400000");
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_green, text:="0.000000"});
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_floatVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_red, text:="120.400000"});
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_referenceVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_green, text:="120.400000"});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValueContent);
f_setverdictFail( vl_statValueContent!={ statusLEDVal:={color:=led_green, text:="0.000000"}} );
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValueContent)
f_setverdictFail( vl_statValueContent!={ statusLEDVal:={color:=led_red, text:="120.400000"}} );
f_EPTF_Var_getContent(vl_ctrlIdx_referenceVar,vl_statValueContent);
f_setverdictFail( vl_statValueContent!={ statusLEDVal:={color:=led_green, text:="120.400000"}} );
// modify only the reference var
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 100 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="[led:yellow]100.000000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_intVar) !="[led:yellow]100.000000");
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="[led:red]120.400000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_floatVar)!="[led:red]120.400000");
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_referenceVar)!="[led:yellow]120.400000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_referenceVar)!="[led:yellow]120.400000");
//=3=
//test addData/adjustContent when enabled:
//int
//f_EPTF_StatMeasure_addData_limits(vl_statIdx_intVar, { intVal:= 160 });//<<== It cannot be used!!!
f_EPTF_Var_adjustContent( v_intVarIdx, { intVal:= -5 } );
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=-5);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_intVar) !="[led:green]-5.000000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_intVar) !="[led:green]-5.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_green, text:="-5.000000"});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValueContent);
f_setverdictFail( vl_statValueContent!={statusLEDVal:={color:=led_green, text:="-5.000000"}} );
// the stat with reference
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_referenceVar) !="[led:green]120.400000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_referenceVar) !="[led:green]120.400000");
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_referenceVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_green, text:="120.400000"});
f_EPTF_Var_getContent(vl_ctrlIdx_referenceVar,vl_statValueContent);
f_setverdictFail( vl_statValueContent!={statusLEDVal:={color:=led_green, text:="120.400000"}} );
//float:
//f_EPTF_StatMeasure_addData_limits(vl_statIdx_floatVar, { floatVal:= 100.0 }); //it does not refresh the Variable!
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 100.0 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="[led:yellow]100.000000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_floatVar)!="[led:yellow]100.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_floatVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_yellow, text:="100.000000"});
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValueContent)
f_setverdictFail( vl_statValueContent!={statusLEDVal:={color:=led_yellow, text:="100.000000"}} );
// the stat with reference
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_referenceVar) !="[led:green]100.000000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_referenceVar) !="[led:green]100.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_referenceVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_green, text:="100.000000"});
f_EPTF_Var_getContent(vl_ctrlIdx_referenceVar,vl_statValueContent);
f_setverdictFail( vl_statValueContent!={statusLEDVal:={color:=led_green, text:="100.000000"}} );
//noVar:
f_EPTF_StatMeasure_addData_limits(vl_statIdx_noVar, -6.0 );//*this is the init*<<== Without this it does not work
f_EPTF_StatMeasure_addData_limits(vl_statIdx_noVar, 110.0 );
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="[led:red]110.000000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_noVar)!="[led:red]110.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_red, text:="110.000000"});
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValueContent);
f_setverdictFail(vl_statValueContent!={statusLEDVal:={color:=led_red, text:="110.000000"}});
//***** testing f_EPTF_StatMeasure_disableStat_limits *********
//=4Disabled=
//int
f_EPTF_StatMeasure_disableStat_limits(vl_statIdx_intVar);
//f_EPTF_StatMeasure_addData_limits(vl_statIdx_intVar, { intVal:= 560 });
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= -100 } )
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=-100);
//expected: no difference, add data blocked:
log( ">>:",f_EPTF_StatMeasure_limits2str(vl_statIdx_intVar));
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_intVar) !="[led:green]-5.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_green, text:="-5.000000"});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValueContent);
f_setverdictFail( vl_statValueContent!={ statusLEDVal:={color:=led_green, text:="-5.000000"}} );
// the stat with reference
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_referenceVar) !="[led:green]100.000000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_referenceVar) !="[led:green]100.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_referenceVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_green, text:="100.000000"});
f_EPTF_Var_getContent(vl_ctrlIdx_referenceVar,vl_statValueContent);
f_setverdictFail( vl_statValueContent!={statusLEDVal:={color:=led_green, text:="100.000000"}} );
//f_EPTF_StatMeasure_LogAll("===After addData/dis/int===");
//float
f_EPTF_StatMeasure_disableStat_limits(vl_statIdx_floatVar);
//expected: no difference, addData blocked
//f_EPTF_StatMeasure_addData_limits(vl_statIdx_floatVar, { floatVal:= -30.11 });
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= -30.11 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="[led:yellow]100.000000");
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValueContent)
f_setverdictFail( vl_statValueContent!={statusLEDVal:={color:=led_yellow, text:="100.000000"}} );
//noVars:
f_EPTF_StatMeasure_disableStat_limits(vl_statIdx_noVar); //While it is applied, the stat. values cannot be refreshed
f_EPTF_StatMeasure_addData_limits(vl_statIdx_noVar, -10.0 );
//expected: the same as previously, because this action is not performed:
log( ">>:",f_EPTF_StatMeasure_limits2str(vl_statIdx_noVar));
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="[led:red]110.000000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_noVar)!="[led:red]110.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_red, text:="110.000000"});
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValueContent);
f_setverdictFail(vl_statValueContent!={statusLEDVal:={color:=led_red, text:="110.000000"}});
//***** testing f_EPTF_StatMeasure_enableStat_limits *********
//=4Enabled=
//int
f_EPTF_StatMeasure_enableStat_limits(vl_statIdx_intVar); //now the stat values are refreshed!!!
//enable refresh:-5->-100
f_EPTF_Var_refreshContent(v_intVarIdx)
f_setverdictFail(f_EPTF_Var_getIntValue(v_intVarIdx)!=-100);
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_intVar) !="[led:green]-100.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_green, text:="-100.000000"});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValueContent);
f_setverdictFail( vl_statValueContent!={ statusLEDVal:={color:=led_green, text:="-100.000000"}} );
//f_EPTF_StatMeasure_LogAll("===BeforeS addData_limits/int===");
//f_EPTF_StatMeasure_addData_limits(vl_statIdx_intVar, { intVal:= 170 });
f_EPTF_Var_adjustContent(v_intVarIdx, { intVal:= 170 } )
//limits:-100
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_intVar) !="[led:red]170.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_intVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_red, text:="170.000000"});
f_EPTF_Var_getContent(vl_ctrlIdx_intVar,vl_statValueContent);
f_setverdictFail( vl_statValueContent!={ statusLEDVal:={color:=led_red, text:="170.000000"}} );
//float
//limits:30.11
f_EPTF_StatMeasure_enableStat_limits(vl_statIdx_floatVar);
f_EPTF_Var_adjustContent(v_floatVarIdx, { floatVal:= 30.11 } )
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_floatVar)!="[led:yellow]30.110000");
f_EPTF_Var_getContent(vl_ctrlIdx_floatVar,vl_statValueContent)
f_setverdictFail( vl_statValueContent!={statusLEDVal:={color:=led_yellow, text:="30.110000"}} );
//noVars:
f_EPTF_StatMeasure_enableStat_limits(vl_statIdx_noVar);
f_EPTF_StatMeasure_addData_limits(vl_statIdx_noVar, 200.0);
f_setverdictFail( f_EPTF_StatMeasure_value2str(vl_statIdx_noVar)!="[led:red]200.000000");
f_setverdictFail( f_EPTF_StatMeasure_limits2str(vl_statIdx_noVar)!="[led:red]200.000000");
v_boolNW := f_EPTF_StatMeasure_getStat_limits(vl_statIdx_noVar,vl_statValue);
f_setverdictFail(vl_statValue!={color:=led_red, text:="200.000000"});
f_EPTF_Var_getContent(vl_ctrlIdx_noVar,vl_statValueContent);
f_setverdictFail(vl_statValueContent!={statusLEDVal:={color:=led_red, text:="200.000000"}});
f_EPTF_Base_cleanup_CT();
//
}//tc_
//=============================================================================
//=== Overview of test objects ==
//=============================================================================
//r=ready
//r function f_EPTF_StatMeasure_init_CT(in charstring pl_selfName) runs on EPTF_StatMeasure_CT //1 see tc_EPTF_StatMeasure_Test_initAndCleanup, Status: ready
//r function f_EPTF_StatMeasure_LogAll(in charstring pl_msg) runs on EPTF_StatMeasure_CT -- Not Planned
//r function f_EPTF_StatMeasure_newStat(in integer pl_varIdx, in EPTF_StatMeasure_statType pl_statType) runs on EPTF_StatMeasure_CT return integer
// see:tc_EPTF_StatMeasure_Test_newStat_int, tc_EPTF_StatMeasure_Test_newStat_float,tc_EPTF_StatMeasure_Test_newStat_noVars, Status:Passed
//r function f_EPTF_StatMeasure_createAllStats(in integer pl_varIdx) runs on EPTF_StatMeasure_CT return EPTF_IntegerList
//see:tc_EPTF_StatMeasure_Test_createAllStats
// function f_EPTF_StatMeasure_resetStats(in EPTF_IntegerList pl_statIdxList) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_getVarIdx(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return integer {
//see tc_EPTF_StatMeasure_Test_newStat_* and tc_EPTF_StatMeasure_Test_createAllStats
//r function f_EPTF_StatMeasure_getStatType(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return EPTF_StatMeasure_statType
//see tc_EPTF_StatMeasure_Test_newStat_* and tc_EPTF_StatMeasure_Test_createAllStats
//Later:
//nr function f_EPTF_StatMeasure_resetStat(in integer pl_statIdx) runs on EPTF_StatMeasure_CT <<NOT READY!!!
//nr function f_EPTF_StatMeasure_enableStat(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//nr function f_EPTF_StatMeasure_disableStat(in integer pl_statIdx) runs on EPTF_StatMeasure_CT //10
//r function f_EPTF_StatMeasure_value2str(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return charstring {
//r function f_EPTF_StatMeasure_createVarFromStat(in integer pl_statIdx, in charstring pl_varName := "") runs on EPTF_StatMeasure_CT return integer {
//r function f_EPTF_StatMeasure_newStat_content(in integer pl_varIdx) runs on EPTF_StatMeasure_CT return integer {
//nr function f_EPTF_StatMeasure_resetStat_content(in integer pl_statIdx) runs on EPTF_StatMeasure_CT -- NOT WORKING, empty function
//nr function f_EPTF_StatMeasure_enableStat_content(in integer pl_statIdx) runs on EPTF_StatMeasure_CT -- NOT WORKING, empty function
//nr function f_EPTF_StatMeasure_disableStat_content(in integer pl_statIdx) runs on EPTF_StatMeasure_CT -- NOT WORKING, empty function
//r function f_EPTF_StatMeasure_getStat_content(in integer pl_statIdx, out EPTF_Var_DirectContent pl_statValue)
// see tc_EPTF_StatMeasure_Test_content
//r function f_EPTF_StatMeasure_content2str(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return charstring
// see tc_EPTF_StatMeasure_Test_content
//r function f_EPTF_StatMeasure_newStat_delta(in integer pl_varIdx := -1) runs on EPTF_StatMeasure_CT return integer
//see tc_EPTF_StatMeasure_Test_delta
//nr function f_EPTF_StatMeasure_resetStat_delta(in integer pl_statIdx) runs on EPTF_StatMeasure_CT //20
//r function f_EPTF_StatMeasure_addData_delta(in integer pl_statIdx, in EPTF_Var_DirectContent pl_newData) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_enableStat_delta(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_disableStat_delta(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_getStat_delta(in integer pl_statIdx, out EPTF_Var_DirectContent pl_statValue) runs on EPTF_StatMeasure_CT return boolean {
// function f_EPTF_StatMeasure_delta2str(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return charstring {
//r function f_EPTF_StatMeasure_newStat_deltaSum(in integer pl_varIdx := -1) runs on EPTF_StatMeasure_CT return integer {
//nr function f_EPTF_StatMeasure_resetStat_deltaSum(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_addData_deltaSum(in integer pl_statIdx, in EPTF_Var_DirectContent pl_newData) runs on EPTF_StatMeasure_CT {
//nr function f_EPTF_StatMeasure_enableStat_deltaSum(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//nr function f_EPTF_StatMeasure_disableStat_deltaSum(in integer pl_statIdx) runs on EPTF_StatMeasure_CT //30
//r function f_EPTF_StatMeasure_getStat_deltaSum(in integer pl_statIdx, out EPTF_Var_DirectContent pl_statValue) runs on EPTF_StatMeasure_CT return boolean {
//r function f_EPTF_StatMeasure_deltaSum2str(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return charstring {
//r function f_EPTF_StatMeasure_newStat_min(in integer pl_varIdx := -1) runs on EPTF_StatMeasure_CT return integer {
//nr function f_EPTF_StatMeasure_resetStat_min(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_addData_min(in integer pl_statIdx, in EPTF_Var_DirectContent pl_newData) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_enableStat_min(in integer pl_statIdx) runs on EPTF_StatMeasure_CT //50
//r function f_EPTF_StatMeasure_disableStat_min(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_getStat_min(in integer pl_statIdx, out EPTF_Var_DirectContent pl_statValue) runs on EPTF_StatMeasure_CT return boolean {
// function f_EPTF_StatMeasure_min2str(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return charstring {
//r function f_EPTF_StatMeasure_newStat_max(in integer pl_varIdx := -1) runs on EPTF_StatMeasure_CT return integer//40
//nr function f_EPTF_StatMeasure_resetStat_max(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_addData_max(in integer pl_statIdx, in EPTF_Var_DirectContent pl_newData) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_enableStat_max(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_disableStat_max(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_getStat_max(in integer pl_statIdx, out EPTF_Var_DirectContent pl_statValue) runs on EPTF_StatMeasure_CT return boolean {
// function f_EPTF_StatMeasure_max2str(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return charstring {
//r function f_EPTF_StatMeasure_newStat_mean(in integer pl_varIdx := -1) runs on EPTF_StatMeasure_CT return integer {
//nr function f_EPTF_StatMeasure_resetStat_mean(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_addData_mean(in integer pl_statIdx, in float pl_newData) runs on EPTF_StatMeasure_CT
//r function f_EPTF_StatMeasure_enableStat_mean(in integer pl_statIdx) runs on EPTF_StatMeasure_CT //50
//r function f_EPTF_StatMeasure_disableStat_mean(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_getStat_mean(in integer pl_statIdx, out float pl_statValue) runs on EPTF_StatMeasure_CT return boolean {
//r function f_EPTF_StatMeasure_mean2str(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return charstring {
//r function f_EPTF_StatMeasure_newStat_standardDev(in integer pl_varIdx := -1) runs on EPTF_StatMeasure_CT return integer {
//nr function f_EPTF_StatMeasure_resetStat_standardDev(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_addData_standardDev(in integer pl_statIdx, in float pl_newData) runs on EPTF_StatMeasure_CT {
//nr function f_EPTF_StatMeasure_enableStat_standardDev(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//nr function f_EPTF_StatMeasure_disableStat_standardDev(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//nr function f_EPTF_StatMeasure_getStat_standardDev(in integer pl_statIdx, out float pl_statValue) runs on EPTF_StatMeasure_CT return boolean {
//nr function f_EPTF_StatMeasure_getStat_standardDev_mean(in integer pl_statIdx, out float pl_statValue) runs on EPTF_StatMeasure_CT return boolean //60
//nr function f_EPTF_StatMeasure_getStatIdx_standardDev_mean(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return integer {
//r function f_EPTF_StatMeasure_standardDev2str(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return charstring {
//nr function f_EPTF_StatMeasure_standardDev_mean2str(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return charstring {
//r function f_EPTF_StatMeasure_newStat_EPS(in integer pl_varIdx := -1) runs on EPTF_StatMeasure_CT return integer {
//r function f_EPTF_StatMeasure_resetStat_EPS(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_startMeasurement_EPS(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_addData_EPS(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//nr function f_EPTF_StatMeasure_enableStat_EPS(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//nr function f_EPTF_StatMeasure_disableStat_EPS(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_getStat_EPS(in integer pl_statIdx, out float pl_statValue) runs on EPTF_StatMeasure_CT return boolean //70
//nr function f_EPTF_StatMeasure_EPS2str(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return charstring {
//r function f_EPTF_StatMeasure_getMeasurementLength_EPS(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return float {
//r function f_EPTF_StatMeasure_getTime_EPS(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return float {
//r function f_EPTF_StatMeasure_update_EPS(in integer pl_statIdx, in float pl_period := -1.0, in boolean pl_enableRefresh := true) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_registerDefaultUpdate_EPS(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_newStat_chrono(in integer pl_varIdx := -1) runs on EPTF_StatMeasure_CT return integer {
//r function f_EPTF_StatMeasure_resetStat_chrono(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_start_chrono(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_addData_chrono(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//nr function f_EPTF_StatMeasure_enableStat_chrono(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//nr function f_EPTF_StatMeasure_disableStat_chrono(in integer pl_statIdx) runs on EPTF_StatMeasure_CT //80
//r function f_EPTF_StatMeasure_getStat_chrono(in integer pl_statIdx, out float pl_statValue) runs on EPTF_StatMeasure_CT return boolean {
//nr function f_EPTF_StatMeasure_chrono2str(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return charstring {
//nr function f_EPTF_StatMeasure_getMeasurementLength_chrono(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return float {
//r function f_EPTF_StatMeasure_getTime_chrono(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return float {
//r function f_EPTF_StatMeasure_update_chrono(in integer pl_statIdx, in boolean pl_enableRefresh := true) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_newStat_density(in EPTF_FloatList pl_boundaries, in integer pl_varIdx := -1) runs on EPTF_StatMeasure_CT return integer {
//r function f_EPTF_StatMeasure_setBoundaries_density(in integer pl_statIdx, in EPTF_FloatList pl_boundaries, in boolean pl_enableUpdate := true) runs on EPTF_StatMeasure_CT {
//*not ready function f_EPTF_StatMeasure_setScale_density(in integer pl_statIdx, in float pl_min, in float pl_max, in integer pl_n, in EPTF_StatMeasure_density_scale pl_scale := linear) runs on EPTF_StatMeasure_CT {
//*not ready function f_EPTF_StatMeasure_resetStat_density(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_addData_density(in integer pl_statIdx, in float pl_newData) runs on EPTF_StatMeasure_CT //90
//nr function f_EPTF_StatMeasure_enableStat_density(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//nr function f_EPTF_StatMeasure_disableStat_density(in integer pl_statIdx) runs on EPTF_StatMeasure_CT {
//r function f_EPTF_StatMeasure_getStat_density(in integer pl_statIdx, out EPTF_IntegerList pl_statValue) runs on EPTF_StatMeasure_CT return boolean {
//r function f_EPTF_StatMeasure_getStat_normalized_density(in integer pl_statIdx, out EPTF_FloatList pl_statValue) runs on EPTF_StatMeasure_CT return boolean {
//r function f_EPTF_StatMeasure_density2str(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return charstring {
//nr function f_EPTF_StatMeasure_createVarFromStat_boundaries_density(in integer pl_statIdx, in charstring pl_varName := "") runs on EPTF_StatMeasure_CT return integer {
//************* From here the functions are private:**********************************
// function f_EPTF_StatMeasure_registerCreatedVar(in integer pl_statIdx, in integer pl_varIdx) runs on EPTF_StatMeasure_CT {
// function f_EPTF_StatMeasure_updateCreatedVar(in integer pl_statIdx, in boolean pl_enableRefresh := true) runs on EPTF_StatMeasure_CT {
// function f_EPTF_StatMeasure_registerCreatedVarForBoundaries_density(in integer pl_statIdx, in integer pl_varIdx) runs on EPTF_StatMeasure_CT {
// function f_EPTF_StatMeasure_updateCreatedVarForBoundaries_density(in integer pl_statIdx, in boolean pl_enableRefresh := true) runs on EPTF_StatMeasure_CT //70
// function f_EPTF_StatMeasure_stat2Var(in integer pl_statIdx, inout EPTF_Var_DirectContent pl_retVal) runs on EPTF_StatMeasure_CT {
// function f_EPTF_StatMeasure_stat2Var_calcFn(in integer pl_idx, in EPTF_IntegerList pl_argList, in EPTF_IntegerList pl_nonVarArgList, inout EPTF_Var_DirectContent pl_retVal) runs on EPTF_StatMeasure_CT {
// function f_EPTF_StatMeasure_valueIsAvailable(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return boolean {
// function f_EPTF_StatMeasure_update_delta_ProstProc(in integer pl_idx, in EPTF_IntegerList pl_argList) runs on EPTF_StatMeasure_CT {
// function f_EPTF_StatMeasure_update_deltaSum_ProstProc(in integer pl_idx, in EPTF_IntegerList pl_argList) runs on EPTF_StatMeasure_CT {
// function f_EPTF_StatMeasure_update_min_ProstProc(in integer pl_idx, in EPTF_IntegerList pl_argList) runs on EPTF_StatMeasure_CT {
// function f_EPTF_StatMeasure_update_max_ProstProc(in integer pl_idx, in EPTF_IntegerList pl_argList) runs on EPTF_StatMeasure_CT {
// function f_EPTF_StatMeasure_update_mean_ProstProc(in integer pl_idx, in EPTF_IntegerList pl_argList) runs on EPTF_StatMeasure_CT {
// function f_EPTF_StatMeasure_update_standardDev_ProstProc(in integer pl_idx, in EPTF_IntegerList pl_argList) runs on EPTF_StatMeasure_CT {
// function f_EPTF_StatMeasure_update_density_ProstProc(in integer pl_idx, in EPTF_IntegerList pl_argList) runs on EPTF_StatMeasure_CT //100
// function f_EPTF_StatMeasure_update_boundaries_density_ProstProc(in integer pl_idx, in EPTF_IntegerList pl_argList) runs on EPTF_StatMeasure_CT {
// function f_EPTF_StatMeasure_addData_EPS_ProstProc(in integer pl_idx, in EPTF_IntegerList pl_argList) runs on EPTF_StatMeasure_CT {
// function f_EPTF_StatMeasure_addData_chrono_ProstProc(in integer pl_idx, in EPTF_IntegerList pl_argList) runs on EPTF_StatMeasure_CT {
// function f_EPTF_StatMeasure_getStatName(in integer pl_statIdx) runs on EPTF_StatMeasure_CT return charstring {
// function f_EPTF_StatMeasure_integerList2str(in EPTF_IntegerList pl_integerList) return charstring {
// function f_EPTF_StatMeasure_cleanup_CT() runs on EPTF_StatMeasure_CT //see tc_EPTF_StatMeasure_Test_initAndCleanup, Ready
// function f_EPTF_StatMeasure_bubblesort(inout EPTF_FloatList pl_list) //117
}// FunctionTest
control {
execute(tc_EPTF_StatMeasure_Test_complex());
execute(tc_EPTF_StatMeasure_Test_custom());
execute(tc_EPTF_StatMeasure_Test_percentile95());
execute(tc_EPTF_StatMeasure_Test_percentileP());
execute(tc_EPTF_StatMeasure_Test_percentile95_initStatValue());
execute(tc_EPTF_StatMeasure_Test_initAndCleanup());
execute(tc_EPTF_StatMeasure_Test_selftest());
execute(tc_EPTF_StatMeasure_Test_newStat_int());
execute(tc_EPTF_StatMeasure_Test_newStat_Type_int());
execute(tc_EPTF_StatMeasure_Test_newStat_float());
execute(tc_EPTF_StatMeasure_Test_newStat_Type_float());
execute(tc_EPTF_StatMeasure_Test_newStat_noVars());
execute(tc_EPTF_StatMeasure_Test_newStat_Type_noVars());
execute(tc_EPTF_StatMeasure_Test_createAllStats());
execute(tc_EPTF_StatMeasure_Test_content());
execute(tc_EPTF_StatMeasure_Test_delta());
execute(tc_EPTF_StatMeasure_Test_delta_temporary());
execute(tc_EPTF_StatMeasure_Test_delta_noVar_bug()); // TR: HJ94384
execute(tc_EPTF_StatMeasure_Test_deltaSum());
execute(tc_EPTF_StatMeasure_Test_min());
execute(tc_EPTF_StatMeasure_Test_max());
execute(tc_EPTF_StatMeasure_Test_mean());
execute(tc_EPTF_StatMeasure_Test_standardDev());
execute(tc_EPTF_StatMeasure_Test_EPS());
execute(tc_EPTF_StatMeasure_Test_autoUpdate_EPS());
execute(tc_EPTF_StatMeasure_Test_chrono());
execute(tc_EPTF_StatMeasure_Test_density());
execute(tc_EPTF_StatMeasure_Test_limits());
}
} // end of module