################################################################################
# TEST: EMOS_FRM_result_lib
################################################################################
# Copyright (C) 2000 EMOS Computer Consulting GmbH
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# For further information please contact:
#
# Dean Rajovic
# EMOS Computer Consulting GmbH
# Oskar-Messter-Straße 25
# 85737 Ismaning
# Germany
# tel.: +49 89 608 765-0
# mailto:drajovic@emos.de
# http://www.emos.de
################################################################################
# $Revision: 1.3 $
# $Author: drajovic $
# $Date: 2005/01/28 11:18:43 $
# $Source: C:/Archive/FRAMEWORK/EMOS_GPL/FRM/emos_frm_result_lib/script,v $
# $NoKeywords: $
################################################################################
#/***
#* Simple routines for calculating test statistics.
#*/
#/**
#* array containing test statistics
#*/
static test_statistics_arr[];
#/**
#* Initialises the array with test statistics (by cleaning it up).
#*/
public function FRM_RES_init_test_statistics ( )
{
auto i;
for( i in test_statistics_arr )
delete test_statistics_arr[i];
}
#/**
#* Returns the array containig test statistics.
#* The format of the array is not defined.
#* It will usually contain only one dimension in form of
#* <code>array["category"]</code> where "category" is
#* defined via FRM_RES_add_test_statistics( in category ).
#* @return array of test statistics.
#*/
public function FRM_RES_get_test_statistics ( out arr[] )
{
auto i;
for( i in arr )
delete arr[i];
for( i in test_statistics_arr )
arr[i] = test_statistics_arr[i];
}
#/**
#* Increases the test statistics for the specified category by one.
#* @param category (in) name of the category
#*/
public function FRM_RES_add_test_statistics( in category )
{
test_statistics_arr[category]++;
}
#/**
#* Produces the most simple report on test statistics using "report_msg()".
#* This function cummulates the total over all categories and reports
#* the percentage for each category (i.e. it assumes the categories are
#* non-overlapping).
#* Overload this function with your own one to produce better report.
#*/
public function FRM_RES_report_test_statistics( )
{
auto category, msg, total, test_stats[];
FRM_RES_get_test_statistics( test_stats );
# accumulate totals
total = 0;
for( category in test_stats )
{
total+=test_stats[category];
}
# produce report
report_msg( "=================" );
for(category in test_stats )
{
msg = sprintf( "%s:\t %d of %d = %.2f%",
category,
test_stats[category],
total,
test_stats[category]/total*100 );
report_msg( msg );
}
report_msg( "-----------------" );
report_msg( "Total:\t " & total );
report_msg( "=================" );
}