[BUG] bug 2598
[bioperl-live.git] / t / PhyloNetwork_RandomFactory.t
blobafb1d6a2b1dd9055527e4e0e30dcbe1fcb14a70f
1 # $Id$
2 # -*-Perl-*-
3 use strict;
5 BEGIN {
6   use lib 't/lib';
7   use BioperlTest;
9   test_begin(-tests => 70,
10              -requires_modules => [qw(Bio::PhyloNetwork
11                                       Math::Random
12                                       Bio::Tree::RandomFactory)]);
14   use_ok('Bio::PhyloNetwork::RandomFactory');
17 my $factory=Bio::PhyloNetwork::RandomFactory->new(-numleaves=>3,-norepeat=>1);
18 isa_ok($factory,'Bio::PhyloNetwork::RandomFactory');
20 my @nets;
21 for (my $i=0; $i<66; $i++) {
22   my $net=$factory->next_network();
23   push @nets,$net;
26 is(scalar @nets,66,'random factory');
28 my @netsbk;
30 foreach my $enw (<DATA>) {
31   my $net=Bio::PhyloNetwork->new(-eNewick=>$enw);
32   push @netsbk,$net;
34 is(scalar @netsbk,66);
36 foreach my $net (@nets) {
37   my $found=0;
38   foreach my $netbk (@netsbk) {
39     if ($net->mu_distance($netbk)==0) {
40       $found=1;
41       last;
42     }
43   }
44   ok($found,'found');
47 __DATA__
48 ((l1,l3),l2); 
49 (#H1,(#H1,(l1,l3))); (l2)#H1; 
50 (#H1,(#H1,((#H2,l1),#H2))); (l2)#H1; (l3)#H2; 
51 (#H1,(#H2,(#H1,(#H2,l1)))); (l2)#H1; (l3)#H2; 
52 (#H1,(#H1,(#H2,l1))); ((#H2,l2))#H1; (l3)#H2; 
53 (#H1,(#H1,((#H2,l3),#H2))); (l2)#H1; (l1)#H2; 
54 (#H1,(#H2,(#H1,(l3,#H2)))); (l2)#H1; (l1)#H2; 
55 (#H1,(#H1,(l3,#H2))); ((#H2,l2))#H1; (l1)#H2; 
56 (#H1,(l1,(l3,#H1))); (l2)#H1; 
57 ((((l3,#H1),#H2),#H2),#H1); (l2)#H1; (l1)#H2; 
58 (#H1,((#H1,l3),#H2)); ((l2,#H2))#H1; (l1)#H2; 
59 (#H1,(#H2,(#H2,l1))); (l2)#H1; ((#H1,l3))#H2; 
60 (#H1,(l3,(l1,#H1))); (l2)#H1; 
61 ((((l1,#H1),#H2),#H2),#H1); (l2)#H1; (l3)#H2; 
62 (#H1,((#H1,l1),#H2)); ((l2,#H2))#H1; (l3)#H2; 
63 (#H1,(#H2,(#H2,l3))); (l2)#H1; ((#H1,l1))#H2; 
64 (#H1,(l2,#H1)); ((l1,l3))#H1; 
65 ((#H1,(l2,#H2)),#H1); ((#H2,l1))#H1; (l3)#H2; 
66 (#H1,(#H1,l2)); ((#H2,(#H2,l1)))#H1; (l3)#H2; 
67 (#H1,(#H2,(#H1,l2))); ((#H2,l1))#H1; (l3)#H2; 
68 ((#H1,(l2,#H2)),#H1); ((#H2,l3))#H1; (l1)#H2; 
69 (#H1,(#H1,l2)); ((#H2,(#H2,l3)))#H1; (l1)#H2; 
70 (#H1,(#H2,(#H1,l2))); ((l3,#H2))#H1; (l1)#H2; 
71 ((l2,#H1),(l1,#H1)); (l3)#H1; 
72 (l2,(#H1,(l1,#H1))); (l3)#H1; 
73 ((l2,#H1),(l3,#H1)); (l1)#H1; 
74 (l2,(#H1,(l3,#H1))); (l1)#H1; 
75 (l1,(l3,l2)); 
76 (l1,(#H1,(#H1,l3))); (l2)#H1; 
77 ((#H1,((#H1,l3),#H2)),#H2); (l2)#H1; (l1)#H2; 
78 ((#H1,(#H1,(#H2,l3))),#H2); (l2)#H1; (l1)#H2; 
79 (#H2,(#H2,(#H1,(#H1,l3)))); (l2)#H1; (l1)#H2; 
80 ((#H1,(l3,#H1)),#H2); ((#H2,l2))#H1; (l1)#H2; 
81 (#H2,(#H2,l1)); (l2)#H1; (((l3,#H1),#H1))#H2; 
82 ((l1,#H1),(l3,#H1)); (l2)#H1; 
83 ((#H1,(l1,#H2)),#H2); (l2)#H1; ((#H1,l3))#H2; 
84 (#H2,(#H2,(#H1,l1))); (l2)#H1; ((#H1,l3))#H2; 
85 (#H2,(#H2,(#H1,l3))); (l2)#H1; ((#H1,l1))#H2; 
86 (#H2,(#H1,(l3,#H2))); (l2)#H1; ((#H1,l1))#H2; 
87 (#H1,(l1,#H1)); ((l3,l2))#H1; 
88 (#H1,(l1,#H1)); ((#H2,(#H2,l2)))#H1; (l3)#H2; 
89 (l1,(#H1,(l2,#H1))); (l3)#H1; 
90 ((#H1,(#H1,(#H2,l2))),#H2); (l3)#H1; (l1)#H2; 
91 (#H2,(((l2,#H1),#H1),#H2)); (l3)#H1; (l1)#H2; 
92 (#H2,(((l2,#H1),#H2),#H1)); (l3)#H1; (l1)#H2; 
93 ((#H1,(#H1,l2)),#H2); ((l3,#H2))#H1; (l1)#H2; 
94 (#H1,(l3,(l2,#H1))); (l1)#H1; 
95 (#H1,(#H1,(l2,l3))); (l1)#H1; 
96 (#H1,((l3,#H1),l2)); (l1)#H1; 
97 ((l1,l2),l3); 
98 (#H1,(#H1,(l1,l2))); (l3)#H1; 
99 (#H1,(#H1,((#H2,l1),#H2))); (l3)#H1; (l2)#H2; 
100 (#H1,(#H2,(#H1,(#H2,l1)))); (l3)#H1; (l2)#H2; 
101 (#H1,(#H1,((#H2,l2),#H2))); (l3)#H1; (l1)#H2; 
102 (#H1,(#H2,(#H1,(l2,#H2)))); (l3)#H1; (l1)#H2; 
103 (#H1,(l1,(l2,#H1))); (l3)#H1; 
104 ((((l2,#H1),#H2),#H2),#H1); (l3)#H1; (l1)#H2; 
105 (#H1,(#H2,(#H2,l1))); (l3)#H1; ((#H1,l2))#H2; 
106 (#H1,(l2,(l1,#H1))); (l3)#H1; 
107 ((((l1,#H1),#H2),#H2),#H1); (l3)#H1; (l2)#H2; 
108 (#H1,(#H2,(#H2,l2))); (l3)#H1; ((#H1,l1))#H2; 
109 (#H1,(l3,#H1)); ((l1,l2))#H1; 
110 (#H1,(#H1,l3)); ((#H2,(#H2,l1)))#H1; (l2)#H2; 
111 (#H1,(#H1,l3)); ((#H2,(#H2,l2)))#H1; (l1)#H2; 
112 (l3,(#H1,(l1,#H1))); (l2)#H1; 
113 (l3,(#H1,(l2,#H1))); (l1)#H1;