samples/singletons/test/org/apidesign/singletons/usage/MainTest.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Thu, 30 Oct 2014 21:30:10 +0100
changeset 409 40cabcdcd2be
parent 344 3ba131907351
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.singletons.usage;
     2 
     3 import org.apidesign.singletons.api.DialogDisplayer;
     4 import org.junit.BeforeClass;
     5 import org.junit.Test;
     6 import org.netbeans.junit.MockServices;
     7 import static org.junit.Assert.*;
     8 
     9 // BEGIN: singletons.injectable.test
    10 public class MainTest {
    11     @BeforeClass
    12     public static void setUpClass() throws Exception {
    13         MockServices.setServices(MockDialogDisplayer.class);
    14     }
    15 
    16     @Test
    17     public void testMainAsksAQuestion() {
    18         assertNull(
    19             "No question asked yet", MockDialogDisplayer.askedQuery
    20         );
    21         Main.main(new String[0]);
    22         assertNotNull(
    23             "main code asked our Mock displayer",
    24             MockDialogDisplayer.askedQuery
    25         );
    26     }
    27 
    28     public static final class MockDialogDisplayer extends DialogDisplayer {
    29         static String askedQuery;
    30         
    31         @Override
    32         public boolean yesOrNo(String query) {
    33             askedQuery = query;
    34             return false;
    35         }
    36     }
    37 }
    38 // END: singletons.injectable.test