70 lines
907 B
C#
Raw Permalink Normal View History

//
// This test checks if we implement all the interfaces inherited
//
interface IA {
void A ();
}
interface IB : IA {
void B ();
}
interface IC : IA, IB {
void C ();
}
interface ID : IC {
}
class AA : IC {
bool a, b, c;
public void A () { a = true; }
public void B () { b = true; }
public void C () { c = true; }
public bool OK {
get {
return a && b && c;
}
}
}
class BB : ID{
bool a, b, c;
public void A () { a = true; System.Console.WriteLine ("A"); }
public void B () { b = true; }
public void C () { c = true; }
public bool OK {
get {
return a && b && c;
}
}
}
class T: IB {
public void A () {}
public void B () {}
public static int Main() {
BB bb = new BB ();
bb.A ();
bb.B ();
bb.C ();
if (!bb.OK)
return 1;
AA aa = new AA ();
aa.A ();
aa.B ();
aa.C ();
if (!aa.OK)
return 2;
return 0;
}
}