View Javadoc
1   /**
2    * Copyright (c) 2013-2023, jcabi.com
3    * All rights reserved.
4    *
5    * Redistribution and use in source and binary forms, with or without
6    * modification, are permitted provided that the following conditions
7    * are met: 1) Redistributions of source code must retain the above
8    * copyright notice, this list of conditions and the following
9    * disclaimer. 2) Redistributions in binary form must reproduce the above
10   * copyright notice, this list of conditions and the following
11   * disclaimer in the documentation and/or other materials provided
12   * with the distribution. 3) Neither the name of the jcabi.com nor
13   * the names of its contributors may be used to endorse or promote
14   * products derived from this software without specific prior written
15   * permission.
16   *
17   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18   * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
19   * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
20   * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
21   * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
22   * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
28   * OF THE POSSIBILITY OF SUCH DAMAGE.
29   */
30  package com.jcabi.github;
31  
32  import org.hamcrest.MatcherAssert;
33  import org.hamcrest.Matchers;
34  import org.junit.Assert;
35  import org.junit.Test;
36  
37  /**
38   * Test case for {@link RtCheck}.
39   *
40   * @author Volodya Lombrozo (volodya.lombrozo@gmail.com)
41   * @version $Id: fa78aad0ba5b302826607e19e0fa366ebc718223 $
42   * @since 1.5.0
43   */
44  public final class RtCheckTest {
45  
46      /**
47       * RtCheck can check successful state.
48       */
49      @Test
50      public void checksSuccessfulState() {
51          MatcherAssert.assertThat(
52              new RtCheck(
53                  Check.Status.COMPLETED,
54                  Check.Conclusion.SUCCESS
55              ).successful(),
56              Matchers.is(true)
57          );
58      }
59  
60      /**
61       * RtCheck can check not successful state if in progress.
62       */
63      @Test
64      public void checksNotSuccessfulStateIfInProgress() {
65          MatcherAssert.assertThat(
66              new RtCheck(
67                  Check.Status.IN_PROGRESS,
68                  Check.Conclusion.SUCCESS
69              ).successful(),
70              Matchers.is(false)
71          );
72      }
73  
74      /**
75       * RtCheck can check not successful state if cancelled.
76       */
77      @Test
78      public void checksNotSuccessfulState() {
79          MatcherAssert.assertThat(
80              new RtCheck(
81                  Check.Status.COMPLETED,
82                  Check.Conclusion.CANCELLED
83              ).successful(),
84              Matchers.is(false)
85          );
86      }
87  
88      /**
89       * Can not create RtCheck with unexisting status.
90       */
91      @Test
92      public void createsWithUnexistingStatus() {
93          Assert.assertThrows(
94              IllegalArgumentException.class,
95              () -> new RtCheck(
96                  "unexisting",
97                  "success"
98              ).successful()
99          );
100     }
101 
102     /**
103      * Can not create RtCheck with unexisting conclusion.
104      */
105     @Test
106     public void createsWithUnexistingConclusion() {
107         Assert.assertThrows(
108             IllegalArgumentException.class,
109             () -> new RtCheck(
110                 "completed",
111                 "unexist"
112             ).successful()
113         );
114     }
115 }