View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  
20  package org.apache.myfaces.tobago.util;
21  
22  import org.apache.myfaces.tobago.internal.util.StringUtils;
23  import org.junit.Assert;
24  import org.junit.Test;
25  
26  public class RangeParserUnitTest {
27  
28    @Test
29    public void test() {
30  
31      int[] ints =  {0, 5, 10};
32      String s = "0,5,10";
33      checkEquals(ints, StringUtils.getIndices(s));
34      s = "0, 5, 10";
35      checkEquals(ints, StringUtils.getIndices(s));
36      s = " 0 , 5 , 10 ";
37      checkEquals(ints, StringUtils.getIndices(s));
38  
39      ints = new int[] {3, 4, 5, 6, 7, 15, 16, 17};
40      s = "3-7,15-17";
41      checkEquals(ints, StringUtils.getIndices(s));
42      s = "3-5,6,7,15,16-17";
43      checkEquals(ints, StringUtils.getIndices(s));
44      s = "3-5, 6, 7, 15, 16 - 17 ";
45      checkEquals(ints, StringUtils.getIndices(s));
46  
47      ints = new int[] {3, 4, 5, 6, 7, 15, 14, 13};
48      s = "3-7,15-13";
49      checkEquals(ints, StringUtils.getIndices(s));
50      s = "3 - 7, 15 - 13";
51      checkEquals(ints, StringUtils.getIndices(s));
52    }
53  
54    private void checkEquals(final int[] ints, final int[] indices) {
55      Assert.assertTrue(ints.length == indices.length);
56      for (int i = 0; i < ints.length; i++) {
57         Assert.assertTrue(ints[i] == indices[i]);
58      }
59    }
60  }