001package beginner;
002
003
004import com.sandwich.koan.Koan;
005
006import static com.sandwich.koan.constant.KoanConstants.__;
007import static com.sandwich.util.Assert.assertEquals;
008
009public class AboutConstructors {
010
011    class A {
012        String someString = "a";
013
014        public A() {
015            someString += "x";
016        }
017
018    }
019
020    class B extends A {
021        public B() {
022            someString += "g";
023        }
024
025    }
026
027    @Koan
028    public void simpleConstructorOrder() {
029        assertEquals(new B().someString, __);
030    }
031
032    class Aa {
033        String someString = "a";
034
035        public Aa() {
036            someString += "x";
037        }
038
039        public Aa(String s) {
040            someString += s;
041        }
042    }
043
044    class Bb extends Aa {
045        public Bb() {
046            super("Boo");
047            someString += "g";
048        }
049
050    }
051
052    @Koan
053    public void complexConstructorOrder() {
054        assertEquals(new Bb().someString, __);
055    }
056
057}