#! /bin/sh # $Id$ # vim: expandtab # author: Kate Ward # # Self-testing unit tests for shUnit2 asserts # MSG='This is a test message' #----------------------------------------------------------------------------- # suite tests # commonEqualsSame() { fn=$1 msg='same, with message' rslt=`${fn} "${MSG}" 'x' 'x' 2>&1` rtrn=$? assertSame "${msg}" '' "${rslt}" assertTrue "${msg}; failure" ${rtrn} msg='same' rslt=`${fn} 'x' 'x' 2>&1` rtrn=$? assertSame "${msg}" '' "${rslt}" assertTrue "${msg}; failure" ${rtrn} msg='not same' rslt=`${fn} 'x' 'y' 2>&1` rtrn=$? assertNotSame "${msg}" '' "${rslt}" assertFalse "${msg}; failure" ${rtrn} msg='null values' rslt=`${fn} '' '' 2>&1` rtrn=$? assertSame "${msg}" '' "${rslt}" assertTrue "${msg}; failure" ${rtrn} msg='too few arguments' rslt=`${fn} 2>&1` rtrn=$? assertNotSame "${msg}" '' "${rslt}" assertFalse "${msg}; failure" ${rtrn} } testAssertEquals() { commonEqualsSame 'assertEquals' } testAssertSame() { commonEqualsSame 'assertSame' } testAssertNotSame() { msg='not same, with message' rslt=`assertNotSame "${MSG}" 'x' 'y' 2>&1` rtrn=$? assertSame "${msg}" '' "${rslt}" assertTrue "${msg}; failure" ${rtrn} msg='not same' rslt=`assertNotSame 'x' 'y' 2>&1` rtrn=$? assertSame "${msg}" '' "${rslt}" assertTrue "${msg}; failure" ${rtrn} msg='same' rslt=`assertNotSame 'x' 'x' 2>&1` rtrn=$? assertNotSame "${msg}" '' "${rslt}" assertFalse "${msg}; failure" ${rtrn} msg='null values' rslt=`assertNotSame '' '' 2>&1` rtrn=$? assertNotSame "${msg}" '' "${rslt}" assertFalse "${msg}; failure" ${rtrn} msg='too few arguments' rslt=`assertNotSame 2>&1` rtrn=$? assertNotSame "${msg}" '' "${rslt}" assertFalse "${msg}; failure" ${rtrn} } testAssertNull() { msg='null, with message' rslt=`assertNull "${MSG}" '' 2>&1` rtrn=$? assertSame "${msg}" '' "${rslt}" assertTrue "${msg}; failure" ${rtrn} msg='null' rslt=`assertNull '' 2>&1` rtrn=$? assertSame "${msg}" '' "${rslt}" assertTrue "${msg}; failure" ${rtrn} msg='not null' rslt=`assertNull 'x' 2>&1` rtrn=$? assertNotSame "${msg}" '' "${rslt}" assertFalse "${msg}; failure" ${rtrn} msg='too few arguments' rslt=`assertNull 2>&1` rtrn=$? assertNotSame "${msg}" '' "${rslt}" assertFalse "${msg}; failure" ${rtrn} } testAssertNotNull() { msg='not null, with message' rslt=`assertNotNull "${MSG}" 'x' 2>&1` rtrn=$? assertSame "${msg}" '' "${rslt}" assertTrue "${msg}; failure" ${rtrn} msg='not null' rslt=`assertNotNull 'x' 2>&1` rtrn=$? assertSame "${msg}" '' "${rslt}" assertTrue "${msg}; failure" ${rtrn} msg='null' rslt=`assertNotNull '' 2>&1` rtrn=$? assertNotSame "${msg}" '' "${rslt}" assertFalse "${msg}; failure" ${rtrn} msg='too few arguments' rslt=`assertNotNull 2>&1` rtrn=$? assertNotSame "${msg}" '' "${rslt}" assertFalse "${msg}; failure" ${rtrn} } testAssertTrue() { msg='true, with message' rslt=`assertTrue "${MSG}" 0 2>&1` rtrn=$? assertSame "${msg}" '' "${rslt}" assertTrue "${msg}; failure" ${rtrn} msg='true' rslt=`assertTrue 0 2>&1` rtrn=$? assertSame "${msg}" '' "${rslt}" assertTrue "${msg}; failure" ${rtrn} msg='true condition' rslt=`assertTrue "[ 0 -eq 0 ]" 2>&1` rtrn=$? assertSame "${msg}" '' "${rslt}" assertTrue "${msg}; failure" ${rtrn} msg='false' rslt=`assertTrue 1 2>&1` rtrn=$? assertNotSame "${msg}" '' "${rslt}" assertFalse "${msg}; failure" ${rtrn} msg='false condition' rslt=`assertTrue "[ 0 -eq 1 ]" 2>&1` rtrn=$? assertNotSame "${msg}" '' "${rslt}" assertFalse "${msg}; failure" ${rtrn} msg='null value' rslt=`assertTrue '' 2>&1` rtrn=$? assertNotSame "${msg}" '' "${rslt}" assertFalse "${msg}; failure" ${rtrn} msg='too few arguments' rslt=`assertTrue 2>&1` rtrn=$? assertNotSame "${msg}" '' "${rslt}" assertFalse "${msg}; failure" ${rtrn} } testAssertFalse() { msg='false, with message' rslt=`assertFalse "${MSG}" 1 2>&1` rtrn=$? assertSame "${msg}" '' "${rslt}" assertTrue "${msg}; failure" ${rtrn} msg='false' rslt=`assertFalse 1 2>&1` rtrn=$? assertSame "${msg}" '' "${rslt}" assertTrue "${msg}; failure" ${rtrn} msg='false condition' rslt=`assertFalse "[ 0 -eq 1 ]" 2>&1` rtrn=$? assertSame "${msg}" '' "${rslt}" assertTrue "${msg}; failure" ${rtrn} msg='true' rslt=`assertFalse 0 2>&1` rtrn=$? assertNotSame "${msg}" '' "${rslt}" assertFalse "${msg}; failure" ${rtrn} msg='true condition' rslt=`assertFalse "[ 0 -eq 0 ]" 2>&1` rtrn=$? assertNotSame "${msg}" '' "${rslt}" assertFalse "${msg}; failure" ${rtrn} msg='null value' rslt=`assertFalse '' 2>&1` rtrn=$? assertNotSame "${msg}" '' "${rslt}" assertFalse "${msg}; failure" ${rtrn} msg='too few arguments' rslt=`assertFalse 2>&1` rtrn=$? assertNotSame "${msg}" '' "${rslt}" assertFalse "${msg}; failure" ${rtrn} } #----------------------------------------------------------------------------- # suite functions # # load and run shUnit2 . ./shunit2