Migrate common/util to JUnit5
[yangtools.git] / common / util / src / test / java / org / opendaylight / yangtools / util / UnmodifiableCollectionTest.java
1 /*
2  * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.yangtools.util;
9
10 import static org.junit.jupiter.api.Assertions.assertEquals;
11 import static org.junit.jupiter.api.Assertions.assertFalse;
12 import static org.junit.jupiter.api.Assertions.assertInstanceOf;
13 import static org.junit.jupiter.api.Assertions.assertNotNull;
14 import static org.junit.jupiter.api.Assertions.assertTrue;
15
16 import com.google.common.collect.ImmutableList;
17 import com.google.common.collect.UnmodifiableIterator;
18 import java.util.Arrays;
19 import org.junit.jupiter.api.Test;
20
21 class UnmodifiableCollectionTest {
22
23     @Test
24     void testUnmodifiableCollection() {
25         final var immutableTestList = ImmutableList.<Integer>builder()
26                 .add(1)
27                 .add(2)
28                 .add(3)
29                 .add(4)
30                 .add(5).build();
31
32         final var testUnmodifiableCollection = UnmodifiableCollection.create(immutableTestList);
33         assertNotNull(testUnmodifiableCollection);
34
35         // Note: this cannot be ImmutableList, because UnmodifiableCollection does recognize it and returns it as is,
36         //       without converting it to an UnmodifiableCollection -- which is not what we want.
37         final var testList = Arrays.asList(1, 2, 3, 4, 5);
38         final var testUnmodifiableCollection2 = UnmodifiableCollection.create(testList);
39
40         final var iterator = testUnmodifiableCollection2.iterator();
41         assertNotNull(iterator);
42         assertInstanceOf(UnmodifiableIterator.class, iterator);
43
44         assertEquals(5, testUnmodifiableCollection2.size());
45
46         assertFalse(testUnmodifiableCollection2.isEmpty());
47
48         assertTrue(testUnmodifiableCollection2.contains(1));
49
50         final var objectArray = testUnmodifiableCollection2.toArray();
51         assertNotNull(objectArray);
52         assertEquals(5, objectArray.length);
53
54         final var integerArray = testUnmodifiableCollection2.toArray(
55                 new Integer[testUnmodifiableCollection2.size()]);
56         assertNotNull(integerArray);
57         assertEquals(5, integerArray.length);
58
59         assertTrue(testUnmodifiableCollection2.containsAll(testUnmodifiableCollection));
60
61         assertEquals("UnmodifiableCollection{" + testList + "}", testUnmodifiableCollection2.toString());
62     }
63 }