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
61 xx::DBIx::Class::Relationship::ManyToMany
64 package xx::DBIx::Class::Relationship::ProxyMethods;
65 our @ISA = qw/ xx::DBIx::Class /;
67 package xx::DBIx::Class::Relationship::Base;
68 our @ISA = qw/ xx::DBIx::Class /;
70 package xx::DBIx::Class::PK::Auto;
71 our @ISA = qw/ xx::DBIx::Class /;
73 package xx::DBIx::Class::PK;
74 our @ISA = qw/ xx::DBIx::Class::Row /;
76 package xx::DBIx::Class::ResultSourceProxy::Table;
78 xx::DBIx::Class::AccessorGroup
79 xx::DBIx::Class::ResultSourceProxy
82 package xx::DBIx::Class::ResultSourceProxy;
83 our @ISA = qw/ xx::DBIx::Class /;
85 package xx::Class::Data::Accessor; our @ISA = ();
86 package xx::DBIx::Class::Relationship::HasMany; our @ISA = ();
87 package xx::DBIx::Class::Relationship::HasOne; our @ISA = ();
88 package xx::DBIx::Class::Relationship::BelongsTo; our @ISA = ();
89 package xx::DBIx::Class::Relationship::ManyToMany; our @ISA = ();
90 package xx::DBIx::Class::Componentised; our @ISA = ();
91 package xx::DBIx::Class::AccessorGroup; our @ISA = ();
92 package xx::DBIx::Class::Serialize::Storable; our @ISA = ();
93 package xx::DBIx::Class::Relationship::Accessor; our @ISA = ();
94 package xx::DBIx::Class::Relationship::CascadeActions; our @ISA = ();
103 [ Algorithm::C3::merge('xx::DBIx::Class::Core', \&supers) ],
105 xx::DBIx::Class::Core
106 xx::DBIx::Class::Serialize::Storable
107 xx::DBIx::Class::InflateColumn
108 xx::DBIx::Class::Relationship
109 xx::DBIx::Class::Relationship::Helpers
110 xx::DBIx::Class::Relationship::HasMany
111 xx::DBIx::Class::Relationship::HasOne
112 xx::DBIx::Class::Relationship::BelongsTo
113 xx::DBIx::Class::Relationship::ManyToMany
114 xx::DBIx::Class::Relationship::Accessor
115 xx::DBIx::Class::Relationship::CascadeActions
116 xx::DBIx::Class::Relationship::ProxyMethods
117 xx::DBIx::Class::Relationship::Base
118 xx::DBIx::Class::PK::Auto
121 xx::DBIx::Class::ResultSourceProxy::Table
122 xx::DBIx::Class::AccessorGroup
123 xx::DBIx::Class::ResultSourceProxy
125 xx::DBIx::Class::Componentised
126 xx::Class::Data::Accessor
128 '... got the right C3 merge order for DBIx::Class::Core');