blob: 9fe2a468f0e6787c6745e779e885e9cb6ceabe31 [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_RNA_Test
//
// Purpose:
// This module contains the tests of Random N Array
//
// Module depends on:
// <EPTF_CLL_RNA_Functions>
// <EPTF_CLL_RNA_Definitions>
//
// Current Owner:
// Bence Molnar (EBENMOL)
//
// Last Review Date:
// 2009-02-20
//
///////////////////////////////////////////////////////////
module EPTF_RNA_Test
{
import from EPTF_CLL_RNA_Functions all;
import from EPTF_CLL_RNA_Definitions all
type component PCOComp {}
////////////////////////////////////////////////////////////
// tc_getlist_RNA()
////////////////////////////////////////////////////////////
testcase tc_getlist_RNA() runs on PCOComp system PCOComp {
var integer vl_idx;
var EPTF_RNA_RandomNArray pl_RNA := c_EPTF_RNA_emptyRandomNArray;
f_EPTF_RNA_initRNA(10,2,pl_RNA);
log("The RNA: ",pl_RNA);
vl_idx := f_EPTF_RNA_getList(5,pl_RNA); // good elementIdx
log("ElementIdx 5 is in list Nr:",vl_idx)
if(vl_idx==0) {
setverdict(pass);
} else {
setverdict(fail);
}
vl_idx := f_EPTF_RNA_getList(11,pl_RNA); // bad elementIdx
log("ElementIdx 11 is not in list. Returned:", vl_idx);
if(vl_idx==-1) {
setverdict(pass);
} else {
setverdict(fail);
}
}
////////////////////////////////////////////////////////////
// tc_itemIsFree_RFBA()
////////////////////////////////////////////////////////////
testcase tc_itemIsFree_RFBA() runs on PCOComp system PCOComp {
var boolean vl_result;
var integer vl_length;
var EPTF_RNA_RandomNArray pl_RFBA := c_EPTF_RNA_emptyRandomNArray;
f_EPTF_RNA_initRFBA(10,pl_RFBA);
log("The RFBA: ",pl_RFBA);
vl_result := f_EPTF_RNA_itemIsFree(5,pl_RFBA); //good elementIdx
if(not(vl_result)) {
setverdict(fail);
} else {
setverdict(pass);
}
vl_result := f_EPTF_RNA_moveFromFreeToBusySlot(5,pl_RFBA);// creating 1 busy slot
if(not(vl_result)) {setverdict(fail);}
vl_result := f_EPTF_RNA_itemIsFree(5,pl_RFBA); //bad elementIdx
if(vl_result) {
setverdict(fail);
} else {
setverdict(pass);
}
vl_result := f_EPTF_RNA_itemIsFree(10,pl_RFBA); //elementIdx not in list
if(vl_result) {
setverdict(fail);
} else {
setverdict(pass);
}
}
////////////////////////////////////////////////////////////
// tc_itemIsBusy_RFBA()
////////////////////////////////////////////////////////////
testcase tc_itemIsBusy_RFBA() runs on PCOComp system PCOComp {
var boolean vl_result;
var integer vl_length;
var EPTF_RNA_RandomNArray pl_RFBA := c_EPTF_RNA_emptyRandomNArray;
f_EPTF_RNA_initRFBA(10,pl_RFBA);
log("The RFBA: ",pl_RFBA);
vl_result := f_EPTF_RNA_itemIsBusy(5,pl_RFBA); //bad elementIdx
if(vl_result) {
setverdict(fail);
} else {
setverdict(pass);
}
vl_result := f_EPTF_RNA_moveFromFreeToBusySlot(5,pl_RFBA);// creating 1 busy slot
if(not(vl_result)) {setverdict(fail);}
vl_result := f_EPTF_RNA_itemIsBusy(5,pl_RFBA); //good elementIdx
if(not(vl_result)) {
setverdict(fail);
} else {
setverdict(pass);
}
vl_result := f_EPTF_RNA_itemIsBusy(10,pl_RFBA); //elementIdx not in list
if(vl_result) {
setverdict(fail);
} else {
setverdict(pass);
}
}
////////////////////////////////////////////////////////////
// tc_getLengthOfList_RNA()
////////////////////////////////////////////////////////////
testcase tc_getLengthOfList_RNA() runs on PCOComp system PCOComp {
var integer vl_length;
var EPTF_RNA_RandomNArray pl_RNA := c_EPTF_RNA_emptyRandomNArray;
f_EPTF_RNA_initRNA(10,2,pl_RNA);
log("The RNA: ",pl_RNA);
vl_length := f_EPTF_RNA_getLengthOfList(0,pl_RNA); // good list
log("Length of list Nr 0 is:",vl_length);
if(vl_length==10) {
setverdict(pass);
} else {
setverdict(fail);
}
vl_length := f_EPTF_RNA_getLengthOfList(2,pl_RNA); // bad list
log("List Nr 2 not exists. Returned:", vl_length);
if(vl_length==-1) {
setverdict(pass);
} else {
setverdict(fail);
}
}
////////////////////////////////////////////////////////////
// tc_getLengthOfFreeList_RFBA()
////////////////////////////////////////////////////////////
testcase tc_getLengthOfFreeList_RFBA() runs on PCOComp system PCOComp {
var integer vl_length;
var EPTF_RNA_RandomNArray pl_RFBA := c_EPTF_RNA_emptyRandomNArray;
f_EPTF_RNA_initRFBA(0,pl_RFBA);
log("The RFBA: ",pl_RFBA);
vl_length := f_EPTF_RNA_getLengthOfFreeList(pl_RFBA); // list with 0 element
log("Length of free list is:",vl_length);
if(vl_length==0) {
setverdict(pass);
} else {
setverdict(fail);
}
f_EPTF_RNA_createFreeSlots(10,pl_RFBA); // creating 10 slots
vl_length := f_EPTF_RNA_getLengthOfFreeList(pl_RFBA); // list with 10 element
log("Length of free list is:", vl_length);
if(vl_length==10) {
setverdict(pass);
} else {
setverdict(fail);
}
}
////////////////////////////////////////////////////////////
// tc_getLengthOfBusyList_RFBA()
////////////////////////////////////////////////////////////
testcase tc_getLengthOfBusyList_RFBA() runs on PCOComp system PCOComp {
var boolean vl_result;
var integer vl_length;
var EPTF_RNA_RandomNArray pl_RFBA := c_EPTF_RNA_emptyRandomNArray;
f_EPTF_RNA_initRFBA(10,pl_RFBA);
log("The RFBA: ",pl_RFBA);
vl_length := f_EPTF_RNA_getLengthOfBusyList(pl_RFBA); // list with 0 element
log("Length of busy list is:",vl_length);
if(vl_length==0) {
setverdict(pass);
} else {
setverdict(fail);
}
for ( var integer vl_i := 0; vl_i < 10 ; vl_i := vl_i+1 )
{
vl_result := f_EPTF_RNA_moveFromFreeToBusySlot(vl_i,pl_RFBA);// creating 10 slots
if(not(vl_result)) {setverdict(fail);}
}
vl_length := f_EPTF_RNA_getLengthOfBusyList(pl_RFBA); // list with 10 element
log("Length of busy list is:",vl_length);
if(vl_length==10) {
setverdict(pass);
} else {
setverdict(fail);
}
}
////////////////////////////////////////////////////////////
// tc_moveSlot_RNA()
////////////////////////////////////////////////////////////
testcase tc_moveSlot_RNA() runs on PCOComp system PCOComp {
var boolean vl_result;
var integer vl_length;
var EPTF_RNA_RandomNArray pl_RNA := c_EPTF_RNA_emptyRandomNArray;
f_EPTF_RNA_initRNA(10,2,pl_RNA);
log("The RNA before the modifications: ",pl_RNA);
vl_result := f_EPTF_RNA_moveSlot(5,1,pl_RNA);
if(not(vl_result)) {setverdict(fail);}
vl_result := f_EPTF_RNA_moveSlot(6,1,pl_RNA);
if(not(vl_result)) {setverdict(fail);}
vl_result := f_EPTF_RNA_moveSlot(5,0,pl_RNA);
if(not(vl_result)) {setverdict(fail);}
vl_result := f_EPTF_RNA_moveSlot(5,0,pl_RNA); // move the same again
if(vl_result) {setverdict(fail);}
vl_result := f_EPTF_RNA_moveSlot(5,4,pl_RNA); // move to a non existent list
if(vl_result) {setverdict(fail);}
vl_length := f_EPTF_RNA_getLengthOfList(0,pl_RNA); // checking length of list 0
if(vl_length==9) {
setverdict(pass);
} else {
setverdict(fail);
}
vl_length := f_EPTF_RNA_getLengthOfList(1,pl_RNA); // checking length of list 1
if(vl_length==1) {
setverdict(pass);
} else {
setverdict(fail);
}
log("The RNA after the modifications: ",pl_RNA);
setverdict(pass);
}
////////////////////////////////////////////////////////////
// tc_moveSlot_RFBA()
////////////////////////////////////////////////////////////
testcase tc_moveSlot_RFBA() runs on PCOComp system PCOComp {
var boolean vl_result;
var integer vl_length;
var EPTF_RNA_RandomNArray pl_RFBA := c_EPTF_RNA_emptyRandomNArray;
f_EPTF_RNA_initRFBA(10,pl_RFBA);
log("The RFBA before the modifications: ",pl_RFBA);
vl_result := f_EPTF_RNA_moveFromFreeToBusySlot(5,pl_RFBA);
if(not(vl_result)) {setverdict(fail);}
vl_result := f_EPTF_RNA_moveFromFreeToBusySlot(6,pl_RFBA);
if(not(vl_result)) {setverdict(fail);}
vl_result := f_EPTF_RNA_moveFromBusyToFreeSlot(5,pl_RFBA);
if(not(vl_result)) {setverdict(fail);}
vl_result := f_EPTF_RNA_moveFromFreeToBusySlot(9,pl_RFBA);
if(not(vl_result)) {setverdict(fail);}
vl_result := f_EPTF_RNA_moveFromFreeToBusySlot(9,pl_RFBA) // move the same again
if(vl_result) {setverdict(fail);}
vl_length := f_EPTF_RNA_getLengthOfList(0,pl_RFBA); // checking length of free list
if(vl_length==8) {
setverdict(pass);
} else {
setverdict(fail);
}
vl_length := f_EPTF_RNA_getLengthOfList(1,pl_RFBA); // checking length of busy list
if(vl_length==2) {
setverdict(pass);
} else {
setverdict(fail);
}
log("The RFBA after the modifications: ",pl_RFBA);
setverdict(pass);
}
////////////////////////////////////////////////////////////
// tc_getRndSlot_RNA()
////////////////////////////////////////////////////////////
testcase tc_getRndSlot_RNA() runs on PCOComp system PCOComp {
var integer vl_elementIdx;
var EPTF_RNA_RandomNArray pl_RNA := c_EPTF_RNA_emptyRandomNArray;
f_EPTF_RNA_initRNA(10,2,pl_RNA);
log("The RNA before the modifications: ",pl_RNA);
vl_elementIdx := f_EPTF_RNA_getRndSlot(1,pl_RNA); // get slot from list with no elements
if(vl_elementIdx==-1) {
setverdict(pass);
} else {
setverdict(fail);
}
vl_elementIdx := f_EPTF_RNA_getRndSlot(2,pl_RNA); // get slot from a non existent list
if(vl_elementIdx==-1) {
setverdict(pass);
} else {
setverdict(fail);
}
for ( var integer vl_i := 0; vl_i < 100 ; vl_i := vl_i+1 )
{
vl_elementIdx := f_EPTF_RNA_getRndSlot(0,pl_RNA); // get slot 100 times
}
setverdict(pass);
}
////////////////////////////////////////////////////////////
// tc_getRndSlot_RFBA()
////////////////////////////////////////////////////////////
testcase tc_getRndSlot_RFBA() runs on PCOComp system PCOComp {
var integer vl_elementIdx;
var EPTF_RNA_RandomNArray pl_RFBA := c_EPTF_RNA_emptyRandomNArray;
f_EPTF_RNA_initRFBA(10,pl_RFBA);
log("The RFBA before the modifications: ",pl_RFBA);
for ( var integer vl_i := 0; vl_i < 100 ; vl_i := vl_i+1 )
{
vl_elementIdx := f_EPTF_RNA_getRndFreeSlot(pl_RFBA); // get slot 100 times
}
setverdict(pass);
}
////////////////////////////////////////////////////////////
// tc_createSlots_RNA()
////////////////////////////////////////////////////////////
testcase tc_createSlots_RNA() runs on PCOComp system PCOComp {
var boolean vl_result;
var integer vl_length;
var EPTF_RNA_RandomNArray pl_RNA := c_EPTF_RNA_emptyRandomNArray;
f_EPTF_RNA_initRNA(10,2,pl_RNA);
log("The RNA before the modifications: ",pl_RNA);
vl_result := f_EPTF_RNA_createSlots(0,0,pl_RNA); // creating 0 slots
if(vl_result) {setverdict(fail);}
vl_result := f_EPTF_RNA_createSlots(10,2,pl_RNA); // creating slots to a non existent list
if(vl_result) {setverdict(fail);}
vl_result := f_EPTF_RNA_createSlots(10,0,pl_RNA); // creating 10 slots to list 0
if(not(vl_result)) {setverdict(fail);}
vl_result := f_EPTF_RNA_createSlots(10,1,pl_RNA); // creating 10 slots to list 1
if(not(vl_result)) {setverdict(fail);}
vl_length := f_EPTF_RNA_getLengthOfList(0,pl_RNA); // checking length of list 0
if(vl_length==20) {
setverdict(pass);
} else {
setverdict(fail);
}
vl_length := f_EPTF_RNA_getLengthOfList(1,pl_RNA); // checking length of list 1
if(vl_length==10) {
setverdict(pass);
} else {
setverdict(fail);
}
log("The RNA after the modifications: ",pl_RNA);
setverdict(pass);
}
////////////////////////////////////////////////////////////
// tc_createSlots_RFBA()
////////////////////////////////////////////////////////////
testcase tc_createSlots_RFBA() runs on PCOComp system PCOComp {
var boolean vl_result;
var integer vl_length;
var EPTF_RNA_RandomNArray pl_RFBA := c_EPTF_RNA_emptyRandomNArray;
f_EPTF_RNA_initRFBA(10,pl_RFBA);
log("The RFBA before the modifications: ",pl_RFBA);
vl_result := f_EPTF_RNA_createFreeSlots(0,pl_RFBA); // creating 0 slots
if(vl_result) {setverdict(fail);}
vl_result := f_EPTF_RNA_createFreeSlots(10,pl_RFBA); // creating 10 slots
if(not(vl_result)) {setverdict(fail);}
vl_length := f_EPTF_RNA_getLengthOfList(0,pl_RFBA); // checking length of free list
if(vl_length==20) {
setverdict(pass);
} else {
setverdict(fail);
}
log("The RFBA after the modifications: ",pl_RFBA);
setverdict(pass);
}
////////////////////////////////////////////////////////////
// tc_getRndOrCreateSlot_RNA()
////////////////////////////////////////////////////////////
testcase tc_getRndOrCreateSlot_RNA() runs on PCOComp system PCOComp {
var integer vl_elementIdx;
var integer vl_length;
var EPTF_RNA_RandomNArray pl_RNA := c_EPTF_RNA_emptyRandomNArray;
f_EPTF_RNA_initRNA(10,2,pl_RNA);
log("The RNA before the modifications: ",pl_RNA);
vl_elementIdx := f_EPTF_RNA_getRndOrCreateSlot(2,pl_RNA); // get slot from a non existent list
if(vl_elementIdx==-1) {
setverdict(pass);
} else {
setverdict(fail);
}
vl_elementIdx := f_EPTF_RNA_getRndOrCreateSlot(0,pl_RNA); // get slot from list with 10 elements
if(vl_elementIdx>-1) {
setverdict(pass);
} else {
setverdict(fail);
}
vl_elementIdx := f_EPTF_RNA_getRndOrCreateSlot(1,pl_RNA); // get slot from list with 0 elements
if(vl_elementIdx>-1) {
setverdict(pass);
} else {
setverdict(fail);
}
vl_length := f_EPTF_RNA_getLengthOfList(1,pl_RNA); // checking length of list 1
if(vl_length==1) {
setverdict(pass);
} else {
setverdict(fail);
}
setverdict(pass);
}
////////////////////////////////////////////////////////////
// tc_getRndOrCreateSlot_RFBA()
////////////////////////////////////////////////////////////
testcase tc_getRndOrCreateSlot_RFBA() runs on PCOComp system PCOComp {
var integer vl_elementIdx;
var integer vl_length;
var EPTF_RNA_RandomNArray pl_RFBA := c_EPTF_RNA_emptyRandomNArray;
f_EPTF_RNA_initRFBA(0,pl_RFBA);
log("The RFBA before the modifications: ",pl_RFBA);
vl_elementIdx := f_EPTF_RNA_getRndOrCreateFreeSlot(pl_RFBA); // get slot from free list
if(vl_elementIdx>-1) {
setverdict(pass);
} else {
setverdict(fail);
}
vl_length := f_EPTF_RNA_getLengthOfList(0,pl_RFBA); // checking length of free list
if(vl_length==1) {
setverdict(pass);
} else {
setverdict(fail);
}
vl_elementIdx := f_EPTF_RNA_getRndOrCreateFreeSlot(pl_RFBA); // get slot from free list
if(vl_elementIdx>-1) {
setverdict(pass);
} else {
setverdict(fail);
}
setverdict(pass);
}
////////////////////////////////////////////////////////////
// control section
////////////////////////////////////////////////////////////
control{
execute(tc_getlist_RNA());
execute(tc_itemIsFree_RFBA());
execute(tc_itemIsBusy_RFBA());
execute(tc_getLengthOfList_RNA());
execute(tc_getLengthOfFreeList_RFBA());
execute(tc_getLengthOfBusyList_RFBA());
execute(tc_moveSlot_RNA());
execute(tc_moveSlot_RFBA());
execute(tc_getRndSlot_RNA());
execute(tc_getRndSlot_RFBA());
execute(tc_createSlots_RNA());
execute(tc_createSlots_RFBA());
execute(tc_getRndOrCreateSlot_RNA());
execute(tc_getRndOrCreateSlot_RFBA());
}
} // end of module