samples/sidemeanings/test/org/apidesign/sidemeanings/test/PublicAbstractTest.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Fri, 03 Apr 2020 16:32:36 +0200
changeset 416 9ed8788a1a4e
permissions -rw-r--r--
Using HTTPS to download the libraries
     1 package org.apidesign.sidemeanings.test;
     2 
     3 import org.apidesign.sidemeanings.PublicAbstract;
     4 import org.junit.Assert;
     5 import org.junit.Test;
     6 
     7 public class PublicAbstractTest {
     8 
     9     @Test public void testCallTenDoubleIncrementOnDirtyAPI() {
    10         // BEGIN: sidemeanings.PublicAbstract.Dirty.test
    11         class DoubleIncrement extends PublicAbstract.Dirty {
    12             int counter;
    13 
    14             @Override
    15             public void increment() {
    16                 counter += 2;
    17             }
    18         }
    19         DoubleIncrement doubleIncr = new DoubleIncrement();
    20         doubleIncr.incrementTenTimes();
    21         Assert.assertEquals(20, doubleIncr.counter);
    22         // END: sidemeanings.PublicAbstract.Dirty.test
    23     }
    24 
    25     @Test public void testCallTenDoubleIncrementOnCleanAPI() {
    26         // BEGIN: sidemeanings.PublicAbstract.Clean.test
    27         class DoubleIncrement extends PublicAbstract.Clean {
    28             int counter;
    29 
    30             @Override
    31             protected void overridableIncrement() {
    32                 counter += 2;
    33             }
    34         }
    35         DoubleIncrement doubleIncr = new DoubleIncrement();
    36         doubleIncr.incrementTenTimes();
    37         Assert.assertEquals(20, doubleIncr.counter);
    38         // END: sidemeanings.PublicAbstract.Clean.test
    39     }
    40 
    41 }