1 package com.atlassian.pageobjects.elements.test.query;
2
3 import com.atlassian.pageobjects.elements.query.Conditions;
4 import com.atlassian.pageobjects.elements.query.TimedCondition;
5 import com.atlassian.pageobjects.elements.query.TimedQuery;
6 import org.junit.Test;
7
8 import static com.atlassian.pageobjects.elements.mock.MockCondition.FALSE;
9 import static com.atlassian.pageobjects.elements.mock.MockCondition.TRUE;
10 import static org.junit.Assert.assertFalse;
11 import static org.junit.Assert.assertTrue;
12
13
14
15
16 public class TestConditions
17 {
18 @Test
19 public void testNot()
20 {
21 TimedQuery<Boolean> notFalse = Conditions.not(FALSE);
22 assertTrue(notFalse.now());
23 TimedQuery<Boolean> notTrue = Conditions.not(TRUE);
24 assertFalse(notTrue.now());
25 }
26
27 @Test
28 public void andTrueOnlyShouldResultInTrue()
29 {
30 TimedCondition and = Conditions.and(TRUE, TRUE, TRUE);
31 assertTrue(and.now());
32 }
33
34 @Test
35 public void trueAndFalseShouldResultInFalse()
36 {
37 TimedCondition and = Conditions.and(TRUE, FALSE, TRUE, TRUE);
38 assertFalse(and.now());
39 }
40
41 @Test
42 public void trueOrFalseShouldResultInTrue()
43 {
44 TimedCondition or = Conditions.or(FALSE, FALSE, TRUE, FALSE);
45 assertTrue(or.now());
46 }
47
48 @Test
49 public void orFalseOnlyShouldResultInFalse()
50 {
51 TimedCondition or = Conditions.or(FALSE, FALSE, FALSE, FALSE);
52 assertFalse(or.now());
53 }
54
55 @Test
56 public void alwaysTrueShouldAlwaysReturnTrue()
57 {
58 final TimedCondition alwaysTrue = Conditions.alwaysTrue();
59 assertTrue(alwaysTrue.now());
60 assertTrue(alwaysTrue.by(100));
61 assertTrue(alwaysTrue.now());
62 }
63
64 @Test
65 public void alwaysFalseShouldAlwaysReturnFalse()
66 {
67 final TimedCondition alwaysFalse = Conditions.alwaysFalse();
68 assertFalse(alwaysFalse.now());
69 assertFalse(alwaysFalse.by(100));
70 assertFalse(alwaysFalse.now());
71 }
72 }