@@ -53,4 +53,137 @@ public void testValuesIndirectRemove() {
5353
5454 Assert .assertEquals (0 , array .size ());
5555 }
56+
57+ @ Test
58+ public void testContains () {
59+ PdfDocument doc = new PdfDocument (new PdfWriter (new ByteArrayOutputStream ()));
60+
61+ PdfArray array = new PdfArray ();
62+ array .add (new PdfNumber (1 ).makeIndirect (doc ).getIndirectReference ());
63+ array .add (new PdfNumber (2 ).makeIndirect (doc ).getIndirectReference ());
64+ array .add (new PdfNumber (3 ).makeIndirect (doc ));
65+ array .add (new PdfNumber (4 ).makeIndirect (doc ));
66+ array .add (new PdfNumber (5 ));
67+ array .add (new PdfNumber (6 ));
68+
69+ PdfArray array2 = new PdfArray ();
70+ array2 .add (new PdfNumber (1 ).makeIndirect (doc ).getIndirectReference ());
71+ array2 .add (new PdfNumber (2 ).makeIndirect (doc ).getIndirectReference ());
72+ array2 .add (new PdfNumber (3 ).makeIndirect (doc ));
73+ array2 .add (new PdfNumber (4 ).makeIndirect (doc ));
74+ array2 .add (new PdfNumber (5 ));
75+ array2 .add (new PdfNumber (6 ));
76+
77+ for (PdfObject obj : array2 ) {
78+ Assert .assertTrue (array .contains (obj ));
79+ }
80+
81+ for (int i = 0 ; i < array2 .size (); i ++) {
82+ Assert .assertTrue (array .contains (array2 .get (i )));
83+ }
84+ }
85+
86+ @ Test
87+ public void testRemove () {
88+ PdfDocument doc = new PdfDocument (new PdfWriter (new ByteArrayOutputStream ()));
89+
90+ PdfArray array = new PdfArray ();
91+ array .add (new PdfNumber (1 ).makeIndirect (doc ).getIndirectReference ());
92+ array .add (new PdfNumber (2 ).makeIndirect (doc ).getIndirectReference ());
93+ array .add (new PdfNumber (3 ).makeIndirect (doc ));
94+ array .add (new PdfNumber (4 ).makeIndirect (doc ));
95+ array .add (new PdfNumber (5 ));
96+ array .add (new PdfNumber (6 ));
97+
98+ PdfArray array2 = new PdfArray ();
99+ array2 .add (new PdfNumber (1 ).makeIndirect (doc ).getIndirectReference ());
100+ array2 .add (new PdfNumber (2 ).makeIndirect (doc ).getIndirectReference ());
101+ array2 .add (new PdfNumber (3 ).makeIndirect (doc ));
102+ array2 .add (new PdfNumber (4 ).makeIndirect (doc ));
103+ array2 .add (new PdfNumber (5 ));
104+ array2 .add (new PdfNumber (6 ));
105+
106+ for (PdfObject obj : array2 ) {
107+ array .remove (obj );
108+ }
109+
110+ Assert .assertEquals (0 , array .size ());
111+ }
112+
113+ @ Test
114+ public void testRemove2 () {
115+ PdfDocument doc = new PdfDocument (new PdfWriter (new ByteArrayOutputStream ()));
116+
117+ PdfArray array = new PdfArray ();
118+ array .add (new PdfNumber (1 ).makeIndirect (doc ).getIndirectReference ());
119+ array .add (new PdfNumber (2 ).makeIndirect (doc ).getIndirectReference ());
120+ array .add (new PdfNumber (3 ).makeIndirect (doc ));
121+ array .add (new PdfNumber (4 ).makeIndirect (doc ));
122+ array .add (new PdfNumber (5 ));
123+ array .add (new PdfNumber (6 ));
124+
125+ PdfArray array2 = new PdfArray ();
126+ array2 .add (new PdfNumber (1 ).makeIndirect (doc ).getIndirectReference ());
127+ array2 .add (new PdfNumber (2 ).makeIndirect (doc ).getIndirectReference ());
128+ array2 .add (new PdfNumber (3 ).makeIndirect (doc ));
129+ array2 .add (new PdfNumber (4 ).makeIndirect (doc ));
130+ array2 .add (new PdfNumber (5 ));
131+ array2 .add (new PdfNumber (6 ));
132+
133+ for (int i = 0 ; i < array2 .size (); i ++) {
134+ array .remove (array2 .get (i ));
135+ }
136+
137+ Assert .assertEquals (0 , array .size ());
138+ }
139+ @ Test
140+ public void testIndexOf () {
141+ PdfDocument doc = new PdfDocument (new PdfWriter (new ByteArrayOutputStream ()));
142+
143+ PdfArray array = new PdfArray ();
144+ array .add (new PdfNumber (1 ).makeIndirect (doc ).getIndirectReference ());
145+ array .add (new PdfNumber (2 ).makeIndirect (doc ).getIndirectReference ());
146+ array .add (new PdfNumber (3 ).makeIndirect (doc ));
147+ array .add (new PdfNumber (4 ).makeIndirect (doc ));
148+ array .add (new PdfNumber (5 ));
149+ array .add (new PdfNumber (6 ));
150+
151+ PdfArray array2 = new PdfArray ();
152+ array2 .add (new PdfNumber (1 ).makeIndirect (doc ).getIndirectReference ());
153+ array2 .add (new PdfNumber (2 ).makeIndirect (doc ).getIndirectReference ());
154+ array2 .add (new PdfNumber (3 ).makeIndirect (doc ));
155+ array2 .add (new PdfNumber (4 ).makeIndirect (doc ));
156+ array2 .add (new PdfNumber (5 ));
157+ array2 .add (new PdfNumber (6 ));
158+
159+ int i = 0 ;
160+ for (PdfObject obj : array2 ) {
161+ Assert .assertEquals (i ++, array .indexOf (obj ));
162+ }
163+ }
164+
165+ @ Test
166+ public void testIndexOf2 () {
167+ PdfDocument doc = new PdfDocument (new PdfWriter (new ByteArrayOutputStream ()));
168+
169+ PdfArray array = new PdfArray ();
170+ array .add (new PdfNumber (1 ).makeIndirect (doc ).getIndirectReference ());
171+ array .add (new PdfNumber (2 ).makeIndirect (doc ).getIndirectReference ());
172+ array .add (new PdfNumber (3 ).makeIndirect (doc ));
173+ array .add (new PdfNumber (4 ).makeIndirect (doc ));
174+ array .add (new PdfNumber (5 ));
175+ array .add (new PdfNumber (6 ));
176+
177+ PdfArray array2 = new PdfArray ();
178+ array2 .add (new PdfNumber (1 ).makeIndirect (doc ).getIndirectReference ());
179+ array2 .add (new PdfNumber (2 ).makeIndirect (doc ).getIndirectReference ());
180+ array2 .add (new PdfNumber (3 ).makeIndirect (doc ));
181+ array2 .add (new PdfNumber (4 ).makeIndirect (doc ));
182+ array2 .add (new PdfNumber (5 ));
183+ array2 .add (new PdfNumber (6 ));
184+
185+ for (int i = 0 ; i < array2 .size (); i ++) {
186+ Assert .assertEquals (i , array .indexOf (array2 .get (i )));
187+ }
188+ }
56189}
0 commit comments