]> Raphaƫl G. Git Repositories - carabistouilles/blob - t/siren.t
Add missing check on malloc allocation
[carabistouilles] / t / siren.t
1 use strict;
2 use warnings;
3 use Test::More qw(no_plan);
4
5 # Verify module can be included via "use" pragma
6 BEGIN { use_ok('lib::siren') };
7
8 # Verify module can be included via "require" pragma
9 require_ok( 'lib::siren' );
10
11 # Test unique=0 duplicate=0
12 my $siren = lib::siren->new();
13 $siren->parse('sirens_0_0.txt');
14 like($siren->show(), qr/^Unique: 0, duplicate: 0$/, 'Unique: 0, duplicate: 0');
15 undef $siren;
16
17 # Test unique=0 duplicate=1
18 $siren = lib::siren->new();
19 $siren->parse('sirens_0_1.txt');
20 like($siren->show(), qr/^Unique: 0, duplicate: 1$/, 'Unique: 0, duplicate: 1');
21 undef $siren;
22
23 # Test unique=0 duplicate=2
24 $siren = lib::siren->new();
25 $siren->parse('sirens_0_2.txt');
26 like($siren->show(), qr/^Unique: 0, duplicates: 2$/, 'Unique: 0, duplicates: 2');
27 undef $siren;
28
29 # Test unique=0 duplicate=3
30 $siren = lib::siren->new();
31 $siren->parse('sirens_0_3.txt');
32 like($siren->show(), qr/^Unique: 0, duplicates: 3$/, 'Unique: 0, duplicates: 3');
33 undef $siren;
34
35 # Test unique=1 duplicate=0
36 $siren = lib::siren->new();
37 $siren->parse('sirens_1_0.txt');
38 like($siren->show(), qr/^Unique: 1, duplicate: 0$/, 'Unique: 1, duplicate: 0');
39 undef $siren;
40
41 # Test unique=1 duplicate=1
42 $siren = lib::siren->new();
43 $siren->parse('sirens_1_1.txt');
44 like($siren->show(), qr/^Unique: 1, duplicate: 1$/, 'Unique: 1, duplicate: 1');
45 undef $siren;
46
47 # Test unique=1 duplicate=2
48 $siren = lib::siren->new();
49 $siren->parse('sirens_1_2.txt');
50 like($siren->show(), qr/^Unique: 1, duplicates: 2$/, 'Unique: 1, duplicates: 2');
51 undef $siren;
52
53 # Test unique=1 duplicate=3
54 $siren = lib::siren->new();
55 $siren->parse('sirens_1_3.txt');
56 like($siren->show(), qr/^Unique: 1, duplicates: 3$/, 'Unique: 1, duplicates: 3');
57 undef $siren;
58
59 # Test unique=2 duplicate=0
60 $siren = lib::siren->new();
61 $siren->parse('sirens_2_0.txt');
62 like($siren->show(), qr/^Uniques: 2, duplicate: 0$/, 'Uniques: 2, duplicate: 0');
63 undef $siren;
64
65 # Test unique=2 duplicate=1
66 $siren = lib::siren->new();
67 $siren->parse('sirens_2_1.txt');
68 like($siren->show(), qr/^Uniques: 2, duplicate: 1$/, 'Uniques: 2, duplicate: 1');
69 undef $siren;
70
71 # Test unique=2 duplicate=2
72 $siren = lib::siren->new();
73 $siren->parse('sirens_2_2.txt');
74 like($siren->show(), qr/^Uniques: 2, duplicates: 2$/, 'Uniques: 2, duplicates: 2');
75 undef $siren;
76
77 # Test unique=2 duplicate=3
78 $siren = lib::siren->new();
79 $siren->parse('sirens_2_3.txt');
80 like($siren->show(), qr/^Uniques: 2, duplicates: 3$/, 'Uniques: 2, duplicates: 3');
81 undef $siren;
82
83 # Test unique=3 duplicate=0
84 $siren = lib::siren->new();
85 $siren->parse('sirens_3_0.txt');
86 like($siren->show(), qr/^Uniques: 3, duplicate: 0$/, 'Uniques: 3, duplicate: 0');
87 undef $siren;
88
89 # Test unique=3 duplicate=1
90 $siren = lib::siren->new();
91 $siren->parse('sirens_3_1.txt');
92 like($siren->show(), qr/^Uniques: 3, duplicate: 1$/, 'Uniques: 3, duplicate: 1');
93 undef $siren;
94
95 # Test unique=3 duplicate=2
96 $siren = lib::siren->new();
97 $siren->parse('sirens_3_2.txt');
98 like($siren->show(), qr/^Uniques: 3, duplicates: 2$/, 'Uniques: 3, duplicates: 2');
99 undef $siren;
100
101 # Test unique=3 duplicate=3
102 $siren = lib::siren->new();
103 $siren->parse('sirens_3_3.txt');
104 like($siren->show(), qr/^Uniques: 3, duplicates: 3$/, 'Uniques: 3, duplicates: 3');
105 undef $siren;
106
107 # Test unique=77445 duplicate=2256
108 $siren = lib::siren->new();
109 $siren->parse('sirens_fxt.txt');
110 like($siren->show(), qr/^Uniques: 77445, duplicates: 2256$/, 'Uniques: 77445, duplicates: 2256');
111 undef $siren;