1 package org.kuali.ole.describe.bo;
2
3 import org.apache.log4j.Logger;
4 import org.junit.Before;
5 import org.junit.Test;
6 import org.kuali.ole.describe.bo.DocumentSelectionTree;
7 import org.kuali.ole.describe.bo.DocumentTreeNode;
8 import org.kuali.ole.docstore.common.document.*;
9 import org.kuali.ole.docstore.common.document.HoldingsTree;
10 import org.kuali.ole.docstore.common.document.Item;
11 import org.kuali.ole.docstore.common.document.content.instance.*;
12 import org.kuali.ole.docstore.common.document.content.instance.xstream.HoldingOlemlRecordProcessor;
13 import org.kuali.ole.docstore.common.document.content.instance.xstream.ItemOlemlRecordProcessor;
14 import org.kuali.ole.docstore.model.bo.WorkBibDocument;
15 import org.kuali.ole.docstore.model.bo.WorkHoldingsDocument;
16 import org.kuali.ole.docstore.model.bo.WorkInstanceDocument;
17 import org.kuali.ole.docstore.model.bo.WorkItemDocument;
18 import org.kuali.rice.core.api.util.tree.Node;
19
20 import java.util.ArrayList;
21 import java.util.List;
22
23 import static junit.framework.Assert.assertEquals;
24 import static junit.framework.Assert.assertNotNull;
25
26
27
28
29
30
31
32
33 public class DocumentSelectionTree_UT {
34 private static final Logger LOG = Logger.getLogger(DocumentSelectionTree_UT.class);
35
36 @Before
37 public void setUp() throws Exception {
38
39 }
40
41 @Test
42 public void testBuildNodeList() throws Exception {
43 DocumentSelectionTree dst = new DocumentSelectionTree();
44 List<Node<DocumentTreeNode, String>> nodeList = new ArrayList<Node<DocumentTreeNode, String>>();
45 List<BibTree> bibTreeList = new ArrayList<BibTree>();
46 BibTree bibTree = prepareTestData(bibTreeList);
47 nodeList = dst.buildNodeList(bibTreeList);
48 assertNotNull(nodeList);
49 assertEquals(bibTreeList.size(), nodeList.size());
50 for (Node<DocumentTreeNode, String> node : nodeList) {
51 assertNotNull(node.getNumberOfChildren());
52 assertEquals("History of Computers", bibTree.getBib().getTitle());
53 }
54 }
55 @Test
56 public void testBuildNodeListForTransfer() throws Exception {
57 DocumentSelectionTree dst = new DocumentSelectionTree();
58 List<Node<DocumentTreeNode, String>> nodeList = new ArrayList<Node<DocumentTreeNode, String>>();
59 List<BibTree> bibTreeList = new ArrayList<BibTree>();
60 BibTree bibTree = prepareTestData(bibTreeList);
61 nodeList = dst.buildNodeListForTransfer(bibTreeList);
62 assertNotNull(nodeList);
63 assertEquals(bibTreeList.size(), nodeList.size());
64 for (Node<DocumentTreeNode, String> node : nodeList) {
65 assertNotNull(node.getNumberOfChildren());
66 assertEquals("History of Computers", bibTree.getBib().getTitle());
67 }
68
69 }
70
71
72 private BibTree prepareTestData(List<BibTree> bibTreeList) {
73 BibTree bibTree = new BibTree();
74 List<HoldingsTree> holdingsTreeList = new ArrayList<HoldingsTree>();
75 HoldingsTree holdingsTree = new HoldingsTree();
76 Holdings holdings = new Holdings();
77 List<Item> itemList = new ArrayList<Item>();
78 Item item = new Item();
79 WorkHoldingsDocument workHoldingsDocument = new WorkHoldingsDocument();
80 org.kuali.ole.docstore.common.document.content.instance.Item olemlItem= new org.kuali.ole.docstore.common.document.content.instance.Item();
81 olemlItem.setItemIdentifier("Item-1");
82
83 item.setId("Item-1");
84 item.setCallNumber("Item callNumber");
85 itemList.add(item);
86
87 item.setContent(new ItemOlemlRecordProcessor().toXML(olemlItem));
88 OleHoldings oleHoldings=new OleHoldings();
89 oleHoldings.setHoldingsIdentifier("Holding-1");
90
91 holdings.setId("Holding-1");
92 holdings.setLocationName("Holding location");
93 holdings.setCallNumber("Holding callNumber");
94
95 holdings.setHoldingsType("print");
96 holdings.setContent(new HoldingOlemlRecordProcessor().toXML(oleHoldings));
97 holdingsTree.setHoldings(holdings);
98 item.setHolding(holdings);
99 holdingsTree.getItems().add(item);
100 holdingsTree.getHoldings().setId("Instance-1");
101 holdingsTreeList.add(holdingsTree);
102 bibTree.getHoldingsTrees().add(holdingsTree);
103 Bib bib=new Bib();
104 bib.setId("Bib-1");
105 bib.setTitle("History of Computers");
106 bibTree.setBib(bib);
107
108 bibTree.getBib().setId("Bib-1");
109
110 bibTreeList.add(bibTree);
111 return bibTree;
112 }
113 }