package org.xpect.tests.parameter; import org.junit.runner.RunWith; import org.xpect.expectation.IStringExpectation; import org.xpect.lib.XpectTestResultTest; import org.xpect.parameter.OffsetRegion; import org.xpect.parameter.ParameterParser; import org.xpect.runner.Xpect; import org.xpect.runner.XpectRunner; import org.xpect.runner.XpectSuiteClasses; import org.xpect.text.IRegion; @RunWith(XpectRunner.class) @XpectSuiteClasses(XpectTestResultTest.class) public class ParameterParserTest { @Xpect @ParameterParser(syntax = "('at' arg1=OFFSET)?") public void intOffset(IStringExpectation exp, int offset) { exp.assertEquals(offset); } @Xpect @ParameterParser(syntax = "('at' arg1=OFFSET)?") public void regionOffset(IStringExpectation exp, OffsetRegion offset) { IRegion match = offset.getMatchedRegion(); if (match != null) { int rel = offset.getMatchedOffset() - match.getOffset(); String text = "Offset " + rel + " in " + match.getRegionText(); exp.assertEquals(text); } else { exp.assertEquals("(not matched)"); } } @Xpect @ParameterParser(syntax = "'kw'") public void mandatoryKeyword() { } @Xpect public void mandatoryParameter(int x) { } }