6 use Test::More tests => 2;
9 use_ok('Algorithm::C3');
14 This example is taken from the inheritance graph of DBIx::Class::Core in DBIx::Class v0.07002:
15 (No ASCII art this time, this graph is insane)
17 The xx:: prefixes are just to be sure these bogus declarations never stomp on real ones
22 package xx::DBIx::Class::Core;
24 xx::DBIx::Class::Serialize::Storable
25 xx::DBIx::Class::InflateColumn
26 xx::DBIx::Class::Relationship
27 xx::DBIx::Class::PK::Auto
30 xx::DBIx::Class::ResultSourceProxy::Table
31 xx::DBIx::Class::AccessorGroup
34 package xx::DBIx::Class::InflateColumn;
35 our @ISA = qw/ xx::DBIx::Class::Row /;
37 package xx::DBIx::Class::Row;
38 our @ISA = qw/ xx::DBIx::Class /;
40 package xx::DBIx::Class;
42 xx::DBIx::Class::Componentised
43 xx::Class::Data::Accessor
46 package xx::DBIx::Class::Relationship;
48 xx::DBIx::Class::Relationship::Helpers
49 xx::DBIx::Class::Relationship::Accessor
50 xx::DBIx::Class::Relationship::CascadeActions
51 xx::DBIx::Class::Relationship::ProxyMethods
52 xx::DBIx::Class::Relationship::Base
56 package xx::DBIx::Class::Relationship::Helpers;
58 xx::DBIx::Class::Relationship::HasMany
59 xx::DBIx::Class::Relationship::HasOne
60 xx::DBIx::Class::Relationship::BelongsTo xx::DBIx::Class::Relationship::ManyToMany
63 package xx::DBIx::Class::Relationship::ProxyMethods;
64 our @ISA = qw/ xx::DBIx::Class /;
66 package xx::DBIx::Class::Relationship::Base;
67 our @ISA = qw/ xx::DBIx::Class /;
69 package xx::DBIx::Class::PK::Auto;
70 our @ISA = qw/ xx::DBIx::Class /;
72 package xx::DBIx::Class::PK;
73 our @ISA = qw/ xx::DBIx::Class::Row /;
75 package xx::DBIx::Class::ResultSourceProxy::Table;
77 xx::DBIx::Class::AccessorGroup
78 xx::DBIx::Class::ResultSourceProxy
81 package xx::DBIx::Class::ResultSourceProxy;
82 our @ISA = qw/ xx::DBIx::Class /;
84 package xx::Class::Data::Accessor; our @ISA = ();
85 package xx::DBIx::Class::Relationship::HasMany; our @ISA = ();
86 package xx::DBIx::Class::Relationship::HasOne; our @ISA = ();
87 package xx::DBIx::Class::Relationship::BelongsTo; our @ISA = ();
88 package xx::DBIx::Class::Relationship::ManyToMany; our @ISA = ();
89 package xx::DBIx::Class::Componentised; our @ISA = ();
90 package xx::DBIx::Class::AccessorGroup; our @ISA = ();
91 package xx::DBIx::Class::Serialize::Storable; our @ISA = ();
92 package xx::DBIx::Class::Relationship::Accessor; our @ISA = ();
93 package xx::DBIx::Class::Relationship::CascadeActions; our @ISA = ();
102 [ Algorithm::C3::merge('xx::DBIx::Class::Core', \&supers) ],
104 xx::DBIx::Class::Core
105 xx::DBIx::Class::Serialize::Storable
106 xx::DBIx::Class::InflateColumn
107 xx::DBIx::Class::Relationship
108 xx::DBIx::Class::Relationship::Helpers
109 xx::DBIx::Class::Relationship::HasMany
110 xx::DBIx::Class::Relationship::HasOne
111 xx::DBIx::Class::Relationship::BelongsTo
112 xx::DBIx::Class::Relationship::ManyToMany
113 xx::DBIx::Class::Relationship::Accessor
114 xx::DBIx::Class::Relationship::CascadeActions
115 xx::DBIx::Class::Relationship::ProxyMethods
116 xx::DBIx::Class::Relationship::Base
117 xx::DBIx::Class::PK::Auto
120 xx::DBIx::Class::ResultSourceProxy::Table
121 xx::DBIx::Class::AccessorGroup
122 xx::DBIx::Class::ResultSourceProxy
124 xx::DBIx::Class::Componentised
125 xx::Class::Data::Accessor
127 '... got the right C3 merge order for DBIx::Class::Core');