jtulach@324: package org.apidesign.sidemeanings.test; jtulach@324: jtulach@324: import org.apidesign.sidemeanings.PublicAbstract; jtulach@324: import org.junit.Assert; jtulach@324: import org.junit.Test; jtulach@324: jtulach@324: public class PublicAbstractTest { jtulach@324: jtulach@324: @Test public void testCallTenDoubleIncrementOnDirtyAPI() { jtulach@324: // BEGIN: sidemeanings.PublicAbstract.Dirty.test jtulach@324: class DoubleIncrement extends PublicAbstract.Dirty { jtulach@324: int counter; jtulach@324: jtulach@324: @Override jtulach@324: public void increment() { jtulach@324: counter += 2; jtulach@324: } jtulach@324: } jtulach@324: DoubleIncrement doubleIncr = new DoubleIncrement(); jtulach@324: doubleIncr.incrementTenTimes(); jtulach@324: Assert.assertEquals(20, doubleIncr.counter); jtulach@324: // END: sidemeanings.PublicAbstract.Dirty.test jtulach@324: } jtulach@324: jtulach@324: @Test public void testCallTenDoubleIncrementOnCleanAPI() { jtulach@324: // BEGIN: sidemeanings.PublicAbstract.Clean.test jtulach@324: class DoubleIncrement extends PublicAbstract.Clean { jtulach@324: int counter; jtulach@324: jtulach@324: @Override jtulach@324: protected void overridableIncrement() { jtulach@324: counter += 2; jtulach@324: } jtulach@324: } jtulach@324: DoubleIncrement doubleIncr = new DoubleIncrement(); jtulach@324: doubleIncr.incrementTenTimes(); jtulach@324: Assert.assertEquals(20, doubleIncr.counter); jtulach@324: // END: sidemeanings.PublicAbstract.Clean.test jtulach@324: } jtulach@324: jtulach@324: }