samples/sidemeanings/test/org/apidesign/sidemeanings/test/ProtectedTest.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Thu, 30 Oct 2014 21:30:10 +0100
changeset 409 40cabcdcd2be
permissions -rw-r--r--
Updating to NBMs from NetBeans 8.0.1 as some of them are required to run on JDK8
     1 package org.apidesign.sidemeanings.test;
     2 
     3 import org.apidesign.sidemeanings.Protected;
     4 import org.junit.Test;
     5 
     6 public class ProtectedTest {
     7 
     8     @Test public void testCallTenDoubleIncrementOnDirtyAPI() {
     9         // BEGIN: sidemeanings.Protected.Dirty.test
    10         class DoubleIncrement extends Protected.Dirty {
    11             @Override
    12             protected void increment() {
    13                 super.increment();
    14                 super.increment();
    15             }
    16         }
    17         DoubleIncrement doubleIncr = new DoubleIncrement();
    18         doubleIncr.incrementTenTimes();
    19         doubleIncr.assertCounter(20);
    20         // END: sidemeanings.Protected.Dirty.test
    21     }
    22 
    23     @Test public void testCallTenDoubleIncrementOnCleanAPI() {
    24         // BEGIN: sidemeanings.Protected.Clean.test
    25         class DoubleIncrement extends Protected.Clean {
    26             @Override
    27             protected void increment() {
    28                 // cannot be access directly, it is abstract:
    29                 // super.increment();
    30                 // we need to call default implementation instead
    31                 defaultIncrement();
    32                 defaultIncrement();
    33             }
    34         }
    35         DoubleIncrement doubleIncr = new DoubleIncrement();
    36         doubleIncr.incrementTenTimes();
    37         doubleIncr.assertCounter(20);
    38         // END: sidemeanings.Protected.Clean.test
    39     }
    40 }