1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements.  See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License.  You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 /* $Id: PDFDestsTestCase.java 1551536 2013-12-17 13:15:06Z vhennebert $ */
19 
20 package org.apache.fop.pdf;
21 
22 import java.io.IOException;
23 import java.util.ArrayList;
24 import java.util.List;
25 
26 import org.junit.Before;
27 import org.junit.Test;
28 
29 /**
30  * Test case for {@link PDFDests}.
31  */
32 public class PDFDestsTestCase extends PDFObjectTestCase {
33 
34     private PDFDests dests = new PDFDests();
35     private String expectedString = "<< /Names [(number) 10 (name) /Test#20name] >>";
36 
37     @Before
setUp()38     public void setUp() {
39         List<PDFDestination> destinations = new ArrayList<PDFDestination>();
40         PDFNumber number = new PDFNumber();
41         number.setNumber(10);
42         PDFDestination testNumber = new PDFDestination("number", number);
43         testNumber.setDocument(doc);
44         destinations.add(testNumber);
45         PDFDestination testName = new PDFDestination("name", new PDFName("Test name"));
46         testName.setDocument(doc);
47         destinations.add(testName);
48 
49         dests = new PDFDests(destinations);
50         dests.setDocument(doc);
51         dests.setParent(parent);
52         pdfObjectUnderTest = dests;
53     }
54 
55     /**
56      * Populate the object with some arbitrary values and ensure they are wrapped properly.
57      * @throws IOException if an I/O error occurs
58      */
59     @Test
testConstructor()60     public void testConstructor() throws IOException {
61         // Seems the only way to test this is by testing the output
62         testOutputStreams(expectedString, dests);
63     }
64 }
65