All pastes #809084 Raw Edit

Something

public text v1 · immutable
·published 2007-12-08 06:30 UTC
rendered paste body
alias logx_maketests {
  var %x 1
  write -c logx_tests.txt
  while (%x <= 100) {
    var %base $r(2,10),%power $r(1,99999) / 10000,%result $calc(%base ^ %power)
    while ($len(%result) > 6) var %base $r(2,10),%power $r(1,99999) / 10000,%result $calc(%base ^ %power)
    write logx_tests.txt %base %result %power
    inc %x
  }
  echo -a Wrote $({,%x) tests to logx_tests.txt ==> Use /logx_test to run these tests
}

alias logx_test {
  var %x 1,%file logx_tests.txt,%errors 0
  if (!$read(%file,1)) { echo 4 -a * Error: No tests found in logx_tests.txt. Use /logx_maketests to make the tests | return }
  while ($read(%file,%x)) {
    tokenize 32 $v1
    if ($logx($1,$2) != $3) {
      if (!$window(@logx_test)) window -ae @logx_test
      echo 4 @logx_test * Error: $!logx( $+ $1 $+ , $+ $2 $+ ) returned $v1 - It should return $3
      inc %errors 
    }
    inc %x
  }
  echo $iif(%errors,4 @logx_test,3 -a) $!logx() tests completed with %errors errors  
}