/******************************************************************************* * Copyright (c) 2013 The PDT Extension Group (https://github.com/pdt-eg) * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html ******************************************************************************/ package org.pdtextensions.semanticanalysis.tests.validation; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import org.eclipse.dltk.compiler.problem.ProblemSeverity; import org.eclipse.e4.core.contexts.ContextInjectionFactory; import org.eclipse.e4.core.contexts.EclipseContextFactory; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import org.osgi.framework.FrameworkUtil; import org.osgi.framework.InvalidSyntaxException; import org.pdtextensions.semanticanalysis.model.validators.Category; import org.pdtextensions.semanticanalysis.model.validators.Type; import org.pdtextensions.semanticanalysis.model.validators.Validator; import org.pdtextensions.semanticanalysis.tests.PEXAnalysisTestPlugin; import org.pdtextensions.semanticanalysis.tests.validation.sample.Service; /** * @author Dawid zulus Pakula <zulus@w3des.net> */ public class ManagerTest { private static Service testService; @BeforeClass public static void beforeClass() { testService = ContextInjectionFactory.make(Service.class, EclipseContextFactory.getServiceContext(FrameworkUtil .getBundle(PEXAnalysisTestPlugin.class) .getBundleContext())); } @AfterClass public static void afterClass() { testService = null; } @Test public void DI() throws InvalidSyntaxException { assertNotNull(testService.getManager()); } @Test public void initializationCategories() { String defaultId = "org.pdtextensions.semanticanalysis.defaultCategory"; Category cat = testService.getManager().getCategory(defaultId); assertNotNull(cat); assertEquals(cat.getId(), defaultId); } @Test public void initializeValidator() { String validatorId = "org.pdtextensions.semanticanalysis.tests.validator"; Validator validator = testService.getManager().getValidator(validatorId); assertNotNull(validator); assertEquals(ProblemSeverity.INFO, validator.getType("default").getDefaultSeverity()); assertEquals("org.pdtextensions.semanticanalysis.tests.category", validator.getCategory().getId()); assertEquals(2, validator.getTypes().size()); assertNotNull(validator.getType("default")); assertTrue(validator.getType("default") instanceof Type); Type orig = validator.getType("default"); assertNotNull(orig.getId()); assertEquals(orig.getId(), "default"); assertNotNull(validator.getType("second")); } }