/** * Inits a segment parameter defined by the given UUID. Defines default parameters (such as Segment UUID and number). * The method must be called for each segment before adding another parameters. * * @param uuid segment UUID. * @return this segment template parameters context. */ public SegmentTemplateParameterContext initSegment(SegmentUUID uuid) { if (!segments.containsKey(uuid)) { int segmNum = segments.size(); doAddParameter(uuid, SegmentContextParameters.UUID, uuid.getUuid()); doAddParameter(uuid, SegmentContextParameters.NUM, String.valueOf(segmNum)); } return this; }
private void assertDefaultSegmentParameters(TemplateParameterContextProvider contextProvider, int segmNum, SegmentUUID segmUuid) { assertEquals( String.valueOf(segmNum), contextProvider.getSegmentContext().resolveTemplateParameter( new TemplateParameter("%{segm.num}"), new ContextInfoBuilder().setSegmentUuid(segmUuid).build())); assertEquals( segmUuid.getUuid(), contextProvider.getSegmentContext().resolveTemplateParameter( new TemplateParameter("%{segm.uuid}"), new ContextInfoBuilder().setSegmentUuid(segmUuid).build())); }
@Test public void resolvesCorrectSegmentContext() { for (int segm = 0; segm < SEGMENT_COUNT; segm++) { String resolvedNum = resolver.resolveTemplateParameter("%{segm.num}", new ContextInfoBuilder().setSegmentUuid(getSegmentUuid(segm)).build()); String resolvedUuid = resolver.resolveTemplateParameter("%{segm.uuid}", new ContextInfoBuilder().setSegmentUuid(getSegmentUuid(segm)).build()); assertNotNull(resolvedNum); assertEquals(String.valueOf(segm), resolvedNum); assertNotNull(resolvedUuid); assertEquals(getSegmentUuid(segm).getUuid(), resolvedUuid); } }