File: test-comptonprofiles.pl

package info (click to toggle)
xraylib 4.0.0%2Bdfsg1-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 46,936 kB
  • sloc: ansic: 16,103; f90: 8,746; java: 6,766; python: 1,497; cpp: 1,305; pascal: 1,139; makefile: 809; ruby: 622; php: 594; perl: 573; cs: 193; sh: 125
file content (74 lines) | stat: -rw-r--r-- 3,519 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
use strict;
use Test::More;
use xraylib;
use xrltest;

ok(xrltest::almost_equal(xraylib::ComptonProfile(26, 0.0), 7.060), "TestComptonProfiles::test_pz_0_full");
ok(xrltest::almost_equal(xraylib::ComptonProfile_Partial(26, $xraylib::N1_SHELL, 0.0), 1.550), "TestComptonProfiles::test_pz_0_partial");
my $profile1 = xraylib::ComptonProfile_Partial(26, $xraylib::L2_SHELL, 0.0);
my $profile2 = xraylib::ComptonProfile_Partial(26, $xraylib::L3_SHELL, 0.0);
ok(xrltest::almost_equal($profile1, $profile2), "TestComptonProfiles::test_pz0_L2_L3_part1");
ok(xrltest::almost_equal($profile1, 0.065), "TestComptonProfiles::test_pz0_L2_L3_part2");

ok(xrltest::almost_equal(xraylib::ComptonProfile(26, 100.0), 1.8E-5, 1E-8), "TestComptonProfiles::test_pz_100_full");
ok(xrltest::almost_equal(xraylib::ComptonProfile_Partial(26, $xraylib::N1_SHELL, 100.0), 5.1E-9, 1E-12), "TestComptonProfiles::test_pz_100_partial");
my $profile1 = xraylib::ComptonProfile_Partial(26, $xraylib::L2_SHELL, 100.0);
my $profile2 = xraylib::ComptonProfile_Partial(26, $xraylib::L3_SHELL, 100.0);
ok(xrltest::almost_equal($profile1, $profile2, 1E-10), "TestComptonProfiles::test_pz100_L2_L3_part1");
ok(xrltest::almost_equal($profile1, 1.1E-8, 1E-10), "TestComptonProfiles::test_pz100_L2_L3_part2");

ok(xrltest::almost_equal(xraylib::ComptonProfile(26, 50.0), 0.0006843950273082384, 1E-8), "TestComptonProfiles::test_pz_50_full");
ok(xrltest::almost_equal(xraylib::ComptonProfile_Partial(26, $xraylib::N1_SHELL, 50.0), 2.4322755767709126e-07, 1E-10), "TestComptonProfiles::test_pz_50_partial");
my $profile1 = xraylib::ComptonProfile_Partial(26, $xraylib::L2_SHELL, 50.0);
my $profile2 = xraylib::ComptonProfile_Partial(26, $xraylib::L3_SHELL, 50.0);
ok(xrltest::almost_equal($profile1, $profile2, 1E-10), "TestComptonProfiles::test_pz50_L2_L3_part1");
ok(xrltest::almost_equal($profile1, 2.026953933016568e-06, 1E-10), "TestComptonProfiles::test_pz50_L2_L3_part2");

eval {
	xraylib::ComptonProfile(0, 0.0);
};
like($@, qr/^ValueError/ , "TestComptonProfiles::test_bad_input_full_lowZ");
xraylib::ComptonProfile(102, 0.0);
eval {
	xraylib::ComptonProfile(103, 0.0);
};
like($@, qr/^ValueError/ , "TestComptonProfiles::test_bad_input_full_highZ");
eval {
	xraylib::ComptonProfile(26, -1.0);
};
like($@, qr/^ValueError/ , "TestComptonProfiles::test_bad_input_full_negative_pz");
eval {
	xraylib::ComptonProfile_Partial(0, $xraylib::K_SHELL, 0.0);
};
like($@, qr/^ValueError/ , "TestComptonProfiles::test_bad_input_partial_lowZ");
xraylib::ComptonProfile_Partial(102, $xraylib::K_SHELL, 0.0);
eval {
	xraylib::ComptonProfile_Partial(103, $xraylib::K_SHELL, 0.0);
};
like($@, qr/^ValueError/ , "TestComptonProfiles::test_bad_input_partial_highZ");
eval {
	xraylib::ComptonProfile_Partial(26, $xraylib::K_SHELL, -1.0);
};
like($@, qr/^ValueError/ , "TestComptonProfiles::test_bad_input_partial_negative_pz");
eval {
	xraylib::ComptonProfile_Partial(26, -1, 0.0);
};
like($@, qr/^ValueError/ , "TestComptonProfiles::test_bad_input_partial_low_shell");
eval {
	xraylib::ComptonProfile_Partial(26, $xraylib::N2_SHELL, 0.0);
};
like($@, qr/^ValueError/ , "TestComptonProfiles::test_bad_input_partial_high_shell");
eval {
	xraylib::ComptonProfile_Partial(26, $xraylib::N2_SHELL);
};
like($@, qr/^RuntimeError/ , "TestComptonProfiles::test_bad_input_partial_missing_pz");
eval {
	xraylib::ComptonProfile_Partial(26, $xraylib::N2_SHELL, "jpjjpgjgjgp");
};
like($@, qr/^TypeError/ , "TestComptonProfiles::test_bad_input_partial_string_pz");





done_testing();