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 @SuppressWarnings("unchecked")
17 public class TestConditions
18 {
19 @Test
20 public void testNot()
21 {
22 TimedQuery<Boolean> notFalse = Conditions.not(FALSE);
23 assertTrue(notFalse.now());
24 TimedQuery<Boolean> notTrue = Conditions.not(TRUE);
25 assertFalse(notTrue.now());
26 }
27
28 @Test
29 public void andTrueOnlyShouldResultInTrue()
30 {
31 TimedCondition and = Conditions.and(TRUE, TRUE, TRUE);
32 assertTrue(and.now());
33 }
34
35 @Test
36 public void trueAndFalseShouldResultInFalse()
37 {
38 TimedCondition and = Conditions.and(TRUE, FALSE, TRUE, TRUE);
39 assertFalse(and.now());
40 }
41
42 @Test
43 public void trueOrFalseShouldResultInTrue()
44 {
45 TimedCondition or = Conditions.or(FALSE, FALSE, TRUE, FALSE);
46 assertTrue(or.now());
47 }
48
49 @Test
50 public void orFalseOnlyShouldResultInFalse()
51 {
52 TimedCondition or = Conditions.or(FALSE, FALSE, FALSE, FALSE);
53 assertFalse(or.now());
54 }
55 }