View Javadoc

1   // Copyright (C) 2011 Philip Aston
2   // All rights reserved.
3   //
4   // This file is part of The Grinder software distribution. Refer to
5   // the file LICENSE which is part of The Grinder distribution for
6   // licensing details. The Grinder distribution is available on the
7   // Internet at http://grinder.sourceforge.net/
8   //
9   // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
10  // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
11  // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
12  // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
13  // COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
14  // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
15  // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
16  // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
17  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
18  // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
19  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
20  // OF THE POSSIBILITY OF SUCH DAMAGE.
21  
22  package net.grinder.util.logback;
23  
24  import static org.junit.Assert.assertFalse;
25  import static org.junit.Assert.assertTrue;
26  
27  import java.io.File;
28  import java.io.FileWriter;
29  import java.io.IOException;
30  
31  import net.grinder.testutility.AbstractJUnit4FileTestCase;
32  
33  import org.junit.Test;
34  
35  
36  /**
37   * Unit tests for {@link RollOnStartUp}.
38   *
39   * @author Philip Aston
40   */
41  public class TestRollOnStartUp extends AbstractJUnit4FileTestCase {
42  
43    @Test public void testRollOnStartUp() throws IOException {
44      final File f = new File(getDirectory(), "foo");
45      final FileWriter out = new FileWriter(f);
46      out.write("foo");
47      out.close();
48  
49      final RollOnStartUp<Object> r1 = new RollOnStartUp<Object>();
50      assertTrue(r1.isTriggeringEvent(f, null));
51      assertFalse(r1.isTriggeringEvent(f, null));
52      assertFalse(r1.isTriggeringEvent(f, null));
53  
54      assertTrue(new RollOnStartUp<Object>().isTriggeringEvent(f, null));
55      assertFalse(r1.isTriggeringEvent(f, null));
56    }
57  
58    @Test public void testRollOnStartUpNoFile() throws IOException {
59      final File f = new File(getDirectory(), "foo");
60  
61      final RollOnStartUp<Object> r1 = new RollOnStartUp<Object>();
62      assertFalse(r1.isTriggeringEvent(f, null));
63    }
64  
65    @Test public void testRollOnStartUpEmptyFile() throws IOException {
66      final File f = new File(getDirectory(), "foo");
67      f.createNewFile();
68  
69      final RollOnStartUp<Object> r1 = new RollOnStartUp<Object>();
70      assertFalse(r1.isTriggeringEvent(f, null));
71    }
72  }