diff -r 000000000000 -r 40cabcdcd2be samples/sidemeanings/test/org/apidesign/sidemeanings/test/PublicAbstractTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/samples/sidemeanings/test/org/apidesign/sidemeanings/test/PublicAbstractTest.java Thu Oct 30 21:30:10 2014 +0100 @@ -0,0 +1,41 @@ +package org.apidesign.sidemeanings.test; + +import org.apidesign.sidemeanings.PublicAbstract; +import org.junit.Assert; +import org.junit.Test; + +public class PublicAbstractTest { + + @Test public void testCallTenDoubleIncrementOnDirtyAPI() { + // BEGIN: sidemeanings.PublicAbstract.Dirty.test + class DoubleIncrement extends PublicAbstract.Dirty { + int counter; + + @Override + public void increment() { + counter += 2; + } + } + DoubleIncrement doubleIncr = new DoubleIncrement(); + doubleIncr.incrementTenTimes(); + Assert.assertEquals(20, doubleIncr.counter); + // END: sidemeanings.PublicAbstract.Dirty.test + } + + @Test public void testCallTenDoubleIncrementOnCleanAPI() { + // BEGIN: sidemeanings.PublicAbstract.Clean.test + class DoubleIncrement extends PublicAbstract.Clean { + int counter; + + @Override + protected void overridableIncrement() { + counter += 2; + } + } + DoubleIncrement doubleIncr = new DoubleIncrement(); + doubleIncr.incrementTenTimes(); + Assert.assertEquals(20, doubleIncr.counter); + // END: sidemeanings.PublicAbstract.Clean.test + } + +}