2 * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
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
8 package org.opendaylight.yangtools.util;
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;
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;
21 class UnmodifiableCollectionTest {
24 void testUnmodifiableCollection() {
25 final var immutableTestList = ImmutableList.<Integer>builder()
32 final var testUnmodifiableCollection = UnmodifiableCollection.create(immutableTestList);
33 assertNotNull(testUnmodifiableCollection);
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);
40 final var iterator = testUnmodifiableCollection2.iterator();
41 assertNotNull(iterator);
42 assertInstanceOf(UnmodifiableIterator.class, iterator);
44 assertEquals(5, testUnmodifiableCollection2.size());
46 assertFalse(testUnmodifiableCollection2.isEmpty());
48 assertTrue(testUnmodifiableCollection2.contains(1));
50 final var objectArray = testUnmodifiableCollection2.toArray();
51 assertNotNull(objectArray);
52 assertEquals(5, objectArray.length);
54 final var integerArray = testUnmodifiableCollection2.toArray(
55 new Integer[testUnmodifiableCollection2.size()]);
56 assertNotNull(integerArray);
57 assertEquals(5, integerArray.length);
59 assertTrue(testUnmodifiableCollection2.containsAll(testUnmodifiableCollection));
61 assertEquals("UnmodifiableCollection{" + testList + "}", testUnmodifiableCollection2.toString());