@Test( dataProvider = "unit-test", groups = {"functional"}) public void semanticErrorTest(final String rootDir, final String adlName) throws Exception { initSourcePath(rootDir); final ExpectedError expectedError = parserFirstLine(adlName); try { loader.load(adlName, context); if (expectedError != null) fail("Successful loading of erroneous " + adlName + " ADL."); } catch (final ADLException e) { final Error error = e.getError(); if (error == null) { throw new AssertionFailedError("Loader returned an exception without error."); } ErrorLocator locator = error.getLocator(); while (locator instanceof ChainedErrorLocator) { locator = ((ChainedErrorLocator) locator).getRootLocator(); } assertNotNull(locator, "Caught ADLException have no locator"); assertEquals( ((Enum<?>) error.getTemplate()).name(), expectedError.errorId, "Unexpected errorId of caught ADLException"); assertEquals( error.getTemplate().getGroupId(), expectedError.groupId, "Unexpected groupId of caught ADLException"); assertEquals( locator.getBeginLine(), expectedError.line, "Unexpected line of caught ADLException"); } }
@Test( dataProvider = "unit-test", groups = {"functional"}) public void syntacticErrorTest(final String rootDir, final String adlName) throws Exception { initSourcePath(rootDir); try { loader.load(adlName, context); } catch (final ADLException e) { final Error error = e.getError(); assertNotNull(error); assertEquals(ADLErrors.PARSE_ERROR, error.getTemplate()); assertEquals(ADLErrors.GROUP_ID, error.getTemplate().getGroupId()); return; } fail("Successful loading of erroneous adl file."); }