new user distribution of PEARL procedures
This commit is contained in:
80
pearl/pearl-anglescan-process-test.ipf
Normal file
80
pearl/pearl-anglescan-process-test.ipf
Normal file
@ -0,0 +1,80 @@
|
||||
#pragma rtGlobals=3 // Use modern global access method and strict wave access.
|
||||
#pragma IgorVersion = 6.1
|
||||
#pragma ModuleName = PearlAnglescanProcessTest
|
||||
#pragma version = 1.0
|
||||
|
||||
#include "pearl-anglescan-process"
|
||||
#include "unit-testing"
|
||||
|
||||
// test suite for pearl-anglescan-process.ipf
|
||||
|
||||
// unit testing framework: http://www.igorexchange.com/project/unitTesting
|
||||
// run all test cases with RunTest("pearl-anglescan-process.ipf")
|
||||
// if wave equalities fail, EnableDebugOutput() and read Igor help on equalWaves().
|
||||
|
||||
// created: matthias.muntwiler@psi.ch, 2013-11-18
|
||||
// Copyright (c) 2013 Paul Scherrer Institut
|
||||
// $Id$
|
||||
|
||||
static function test_convert_angles_ttpa()
|
||||
// function parameters
|
||||
variable ntests = 3
|
||||
make /n=(ntests)/d/free i_theta, i_tilt, i_phi
|
||||
make /n=3/d/free i_ana
|
||||
make /n=1/d/free o_polar, o_azi
|
||||
i_theta = {0, 90, 90}
|
||||
i_tilt = {0, 0, 0}
|
||||
i_phi = {0, 0, 10}
|
||||
i_ana = {-30, 0, +30}
|
||||
|
||||
make /n=(3,ntests)/d/free e_polar, e_azi
|
||||
e_polar[][0] = {30, 0, 30}
|
||||
e_azi[][0] = {-90, 0, 90} // 180, 90, 0
|
||||
|
||||
e_polar[][1] = {90, 90, 90}
|
||||
e_azi[][1] = {-30, 0, +30}
|
||||
|
||||
e_polar[][2] = {90, 90, 90}
|
||||
e_azi[][2] = {-20, 10, +40}
|
||||
|
||||
variable phi0 = 0
|
||||
e_azi += phi0
|
||||
|
||||
convert_angles_ttpa2polar(i_theta, i_tilt, i_phi, i_ana, o_polar, o_azi)
|
||||
|
||||
|
||||
CHECK_EQUAL_WAVES(o_polar, e_polar, tol=0.001)
|
||||
CHECK_EQUAL_WAVES(o_azi, e_azi, tol=0.001)
|
||||
|
||||
nvar /z errors = root:packages:unittesting:error_count
|
||||
if ((nvar_exists(errors)) && (errors > 0))
|
||||
print o_azi
|
||||
print e_azi
|
||||
endif
|
||||
end
|
||||
|
||||
static function test_hist_hemi_aziscan()
|
||||
CHECK_EMPTY_FOLDER()
|
||||
|
||||
make /n=360/d/free value, azi
|
||||
azi = p
|
||||
value = 1
|
||||
variable polar = 45 // dphi = 2
|
||||
|
||||
make_hemi_grid(91, "")
|
||||
wave w_index = index
|
||||
wave w_nphis = nphis
|
||||
wave w_dphi = dphi
|
||||
wave w_values = values
|
||||
wave w_azim = azim
|
||||
wave w_polar = polar
|
||||
|
||||
duplicate /free w_values, e_values
|
||||
variable p1 = w_index[44]
|
||||
variable p2 = w_index[45]
|
||||
e_values = (p >= p1) && (p < p2) ? 1 : 0
|
||||
|
||||
hemi_add_aziscan("", value, polar, azi)
|
||||
|
||||
CHECK_EQUAL_WAVES(w_values, e_values, tol=0.001)
|
||||
end
|
Reference in New Issue
Block a user