Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Make S12-introspection/parents.t not depend on how type objects strin…
…gify.
  • Loading branch information
jnthn committed Jul 9, 2011
1 parent bcdd95c commit b075ede
Showing 1 changed file with 26 additions and 26 deletions.
52 changes: 26 additions & 26 deletions S12-introspection/parents.t
Expand Up @@ -19,47 +19,47 @@ my @parents;

@parents = A.^parents();
is +@parents, 2, 'right number of parents in list of all, from proto-object';
is @parents[0].WHAT, 'Any()', 'first parent is Any';
is ~@parents[1].WHAT, 'Mu()', 'second parent is Mu';
ok @parents[0].WHAT =:= Any, 'first parent is Any';
ok @parents[1].WHAT =:= Mu, 'second parent is Mu';

@parents = A.new.^parents();
is +@parents, 2, 'right number of parents in list of all, from instance';
is @parents[0].WHAT, 'Any()', 'first parent is Any';
is ~@parents[1].WHAT, 'Mu()', 'second parent is Mu';
ok @parents[0].WHAT =:= Any, 'first parent is Any';
ok @parents[1].WHAT =:= Mu, 'second parent is Mu';

@parents = D.^parents();
is +@parents, 5, 'right number of parents in list of all, from proto-object, multiple inheritance';
is @parents[0].WHAT, 'B()', 'first parent is B';
is @parents[1].WHAT, 'C()', 'second parent is C';
is @parents[2].WHAT, 'A()', 'third parent is A';
is @parents[3].WHAT, 'Any()', 'forth parent is Any';
is ~@parents[4].WHAT, 'Mu()', 'fifth parent is Mu';
ok @parents[0].WHAT =:= B, 'first parent is B';
ok @parents[1].WHAT =:= C, 'second parent is C';
ok @parents[2].WHAT =:= A, 'third parent is A';
ok @parents[3].WHAT =:= Any, 'forth parent is Any';
ok @parents[4].WHAT =:= Mu, 'fifth parent is Mu';

@parents = D.new.^parents();
is +@parents, 5, 'right number of parents in list of all, from instance, multiple inheritance';
is @parents[0].WHAT, 'B()', 'first parent is B';
is @parents[1].WHAT, 'C()', 'second parent is C';
is @parents[2].WHAT, 'A()', 'third parent is A';
is @parents[3].WHAT, 'Any()', 'forth parent is Any';
is ~@parents[4].WHAT, 'Mu()', 'fifth parent is Mu';
ok @parents[0].WHAT =:= B, 'first parent is B';
ok @parents[1].WHAT =:= C, 'second parent is C';
ok @parents[2].WHAT =:= A, 'third parent is A';
ok @parents[3].WHAT =:= Any, 'forth parent is Any';
ok @parents[4].WHAT =:= Mu, 'fifth parent is Mu';

@parents = B.^parents(:local);
is +@parents, 1, 'right number of parents in list, from proto-object, :local';
is @parents[0].WHAT, 'A()', 'parent is A';
ok @parents[0].WHAT =:= A, 'parent is A';

@parents = B.new.^parents(:local);
is +@parents, 1, 'right number of parents in list, from instance, :local';
is @parents[0].WHAT, 'A()', 'parent is A';
ok @parents[0].WHAT =:= A, 'parent is A';

@parents = D.^parents(:local);
is +@parents, 2, 'right number of parents in list, from proto-object, :local, multiple inheritance';
is @parents[0].WHAT, 'B()', 'first parent is B';
is @parents[1].WHAT, 'C()', 'second parent is C';
ok @parents[0].WHAT =:= B, 'first parent is B';
ok @parents[1].WHAT =:= C, 'second parent is C';

@parents = D.new.^parents(:local);
is +@parents, 2, 'right number of parents in list, from instance, :local, multiple inheritance';
is @parents[0].WHAT, 'B()', 'first parent is B';
is @parents[1].WHAT, 'C()', 'second parent is C';
ok @parents[0].WHAT =:= B, 'first parent is B';
ok @parents[1].WHAT =:= C, 'second parent is C';

@parents = D.^parents(:tree);
is +@parents, 2, 'with :tree, D has two immediate parents (on proto)';
Expand All @@ -78,15 +78,15 @@ is @parents, [[B, [A, [Any, [Mu]]]], [C, [A, [Any, [Mu]]]]],

@parents = Str.^parents();
is +@parents, 3, 'right number of parents for Str built-in, from proto-object';
is @parents[0].WHAT, 'Cool()', 'first parent is Cool';
is @parents[1].WHAT, 'Any()', 'second parent is Any';
is ~@parents[2].WHAT, 'Mu()', 'third parent is Mu';
ok @parents[0].WHAT =:= Cool, 'first parent is Cool';
ok @parents[1].WHAT =:= Any, 'second parent is Any';
ok @parents[2].WHAT =:= Mu, 'third parent is Mu';

@parents = "omg introspection!".^parents();
is +@parents, 3, 'right number of parents for Str built-in, from instance';
is @parents[0].WHAT, 'Cool()', 'first parent is Cool';
is @parents[1].WHAT, 'Any()', 'second parent is Any';
is ~@parents[2].WHAT, 'Mu()', 'third parent is Mu';
ok @parents[0].WHAT =:= Cool, 'first parent is Cool';
ok @parents[1].WHAT =:= Any, 'second parent is Any';
ok @parents[2].WHAT =:= Mu, 'third parent is Mu';

@parents = Mu.^parents();
is +@parents, 0, 'Mu has no parents (no params)';
Expand Down

0 comments on commit b075ede

Please sign in to comment.