1. Project Clover database Tue Dec 20 2016 21:24:09 CET
  2. Package org.xwiki.extension.xar.internal.question

File CleanPagesQuestionRecorderTest.java

 

Code metrics

0
22
1
1
73
38
1
0.05
22
1
1

Classes

Class Line # Actions
CleanPagesQuestionRecorderTest 36 22 0% 1 0
1.0100%
 

Contributing tests

This file is covered by 1 test. .

Source view

1    /*
2    * See the NOTICE file distributed with this work for additional
3    * information regarding copyright ownership.
4    *
5    * This is free software; you can redistribute it and/or modify it
6    * under the terms of the GNU Lesser General Public License as
7    * published by the Free Software Foundation; either version 2.1 of
8    * the License, or (at your option) any later version.
9    *
10    * This software is distributed in the hope that it will be useful,
11    * but WITHOUT ANY WARRANTY; without even the implied warranty of
12    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13    * Lesser General Public License for more details.
14    *
15    * You should have received a copy of the GNU Lesser General Public
16    * License along with this software; if not, write to the Free
17    * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
18    * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
19    */
20    package org.xwiki.extension.xar.internal.question;
21   
22    import java.util.Arrays;
23   
24    import org.junit.Test;
25    import org.xwiki.extension.xar.question.CleanPagesQuestion;
26    import org.xwiki.model.reference.DocumentReference;
27   
28    import static org.junit.Assert.*;
29   
30    /**
31    * Unit tests for {@link CleanPagesQuestionRecorder}.
32    *
33    * @version $Id: 786362f91d916b6e7cc32957b62bf8c9ca93075e $
34    * @since 7.1RC1
35    */
 
36    public class CleanPagesQuestionRecorderTest
37    {
 
38  1 toggle @Test
39    public void recordAndReplay()
40    {
41  1 DocumentReference aliceReference = new DocumentReference("dev", "Users", "Alice");
42  1 DocumentReference bobReference = new DocumentReference("dev", "Users", "Bob");
43  1 DocumentReference carolReference = new DocumentReference("dev", "Users", "Carol");
44   
45  1 CleanPagesQuestion firstQuestion = new CleanPagesQuestion(Arrays.asList(aliceReference, bobReference));
46  1 firstQuestion.getPages().put(aliceReference, false);
47   
48  1 CleanPagesQuestion secondQuestion = new CleanPagesQuestion(Arrays.asList(carolReference));
49  1 secondQuestion.getPages().put(carolReference, false);
50   
51  1 CleanPagesQuestionRecorder recorder = new CleanPagesQuestionRecorder();
52   
53  1 recorder.record(firstQuestion);
54  1 recorder.record(secondQuestion);
55   
56  1 DocumentReference johnReference = new DocumentReference("drafts", "Users", "John");
57  1 DocumentReference aliceDraftsRef =
58    aliceReference.replaceParent(aliceReference.getWikiReference(), johnReference.getWikiReference());
59  1 CleanPagesQuestion thirdQuestion = new CleanPagesQuestion(Arrays.asList(aliceDraftsRef, johnReference));
60  1 assertFalse(recorder.replay(thirdQuestion));
61  1 assertFalse(thirdQuestion.getPages().get(aliceDraftsRef));
62  1 assertTrue(thirdQuestion.getPages().get(johnReference));
63   
64  1 DocumentReference bobDraftsRef =
65    bobReference.replaceParent(bobReference.getWikiReference(), johnReference.getWikiReference());
66  1 DocumentReference carolDraftsRef =
67    carolReference.replaceParent(carolReference.getWikiReference(), johnReference.getWikiReference());
68  1 CleanPagesQuestion fourthQuestion = new CleanPagesQuestion(Arrays.asList(bobDraftsRef, carolDraftsRef));
69  1 assertTrue(recorder.replay(fourthQuestion));
70  1 assertTrue(fourthQuestion.getPages().get(bobDraftsRef));
71  1 assertFalse(fourthQuestion.getPages().get(carolDraftsRef));
72    }
73    }