1   /*
2    * Logback: the reliable, generic, fast and flexible logging framework.
3    * Copyright (C) 1999-2026, QOS.ch. All rights reserved.
4    *
5    * This program and the accompanying materials are dual-licensed under
6    * either the terms of the Eclipse Public License v2.0 as published by
7    * the Eclipse Foundation
8    *
9    *   or (per the licensee's choosing)
10   *
11   * under the terms of the GNU Lesser General Public License version 2.1
12   * as published by the Free Software Foundation.
13   */
14  
15  package ch.qos.logback.core.util;
16  
17  import org.junit.jupiter.api.AfterEach;
18  import org.junit.jupiter.api.BeforeEach;
19  import org.junit.jupiter.api.Test;
20  
21  import static org.junit.jupiter.api.Assertions.assertArrayEquals;
22  
23  public class COWArrayListTest {
24  
25      Integer[] model = new Integer[0];
26      COWArrayList<Integer> cowaList = new COWArrayList<Integer>(model);
27  
28      @BeforeEach
29      public void setUp() throws Exception {
30      }
31  
32      @AfterEach
33      public void tearDown() throws Exception {
34      }
35  
36      @Test
37      public void basicToArray() {
38          cowaList.add(1);
39          Object[] result = cowaList.toArray();
40          assertArrayEquals(new Integer[] { 1 }, result);
41      }
42  
43      @Test
44      public void basicToArrayWithModel() {
45          cowaList.add(1);
46          Integer[] result = cowaList.toArray(model);
47          assertArrayEquals(new Integer[] { 1 }, result);
48      }
49  
50      @Test
51      public void basicToArrayTyped() {
52          cowaList.add(1);
53          Integer[] result = cowaList.asTypedArray();
54          assertArrayEquals(new Integer[] { 1 }, result);
55      }
56  
57  }