} else { final int ref = Integer.parseInt(new String(value, begin + 1, end - begin)); final PlaceHolder placeHolder = new PlaceHolder(begin, end - begin + 1, ref); final PlaceHolder placeHolder = new PlaceHolder(begin, end - begin + 1, ref);
@Test public void testMultiplePlaceHolders() throws Exception { char[] chars = "a$3$$5b$1".toCharArray(); Term term = new Term(chars, 0, chars.length, null); assertEquals(5, term.getMaxPlaceHolderRef()); assertThat(term.getPlaceHolders(), contains( new PlaceHolder(4, 2, 5), new PlaceHolder(1, 2, 3), new PlaceHolder(7, 2, 1) )); }
@Test public void testPlaceHolderOnly() throws Exception { char[] chars = "$3".toCharArray(); Term term = new Term(chars, 0, chars.length, null); assertEquals(3, term.getMaxPlaceHolderRef()); assertThat(term.getPlaceHolders(), contains(new PlaceHolder(0, 2, 3))); }
@Test public void testPlaceHolderInTerm() throws Exception { char[] chars = "a$33b".toCharArray(); Term term = new Term(chars, 0, chars.length, null); assertEquals(33, term.getMaxPlaceHolderRef()); assertThat(term.getPlaceHolders(), contains(new PlaceHolder(1, 3, 33))); term = new Term(chars, 1, chars.length - 1, null); assertEquals(33, term.getMaxPlaceHolderRef()); assertThat(term.getPlaceHolders(), contains(new PlaceHolder(1, 3, 33))); term = new Term(chars, 1, chars.length - 2, null); assertEquals(33, term.getMaxPlaceHolderRef()); assertThat(term.getPlaceHolders(), contains(new PlaceHolder(1, 3, 33))); }