// ============================================================================ // // Copyright (C) 2006-2016 Talend Inc. - www.talend.com // // This source code is available under agreement available at // %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.dataprofiler.core.ui.imex; import java.io.File; import junit.framework.Assert; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.Path; import org.eclipse.swt.graphics.Image; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.talend.core.model.properties.Property; import org.talend.core.repository.model.ProxyRepositoryFactory; import org.talend.dataprofiler.core.ImageLib; import org.talend.dataprofiler.core.ui.imex.model.ItemRecord; import org.talend.dataquality.properties.PropertiesFactory; import org.talend.dataquality.properties.TDQBusinessRuleItem; import org.talend.dataquality.properties.TDQMatchRuleItem; import org.talend.dataquality.rules.DQRule; import org.talend.dataquality.rules.MatchRuleDefinition; import org.talend.dataquality.rules.ParserRule; import org.talend.dataquality.rules.RulesFactory; /** * created by zshen on Mar 10, 2014 Detailled comment * */ public class FileTreeLabelProviderTest { static TDQBusinessRuleItem createTDQSQLRuleItem = null; static TDQBusinessRuleItem createTDQParserRuleItem = null; static TDQMatchRuleItem createTDQMatchRuleItem = null; /** * DOC zshen Comment method "setUpBeforeClass". * * @throws java.lang.Exception */ @BeforeClass public static void setUpBeforeClass() throws Exception { DQRule createSqlRule = RulesFactory.eINSTANCE.createWhereRule(); ParserRule createParserRule = RulesFactory.eINSTANCE.createParserRule(); MatchRuleDefinition createMatchRuleDefinition = RulesFactory.eINSTANCE.createMatchRuleDefinition(); createSqlRule.setName("sqlRule1"); //$NON-NLS-1$ createParserRule.setName("parserRule1"); //$NON-NLS-1$ createMatchRuleDefinition.setName("matchRule"); //$NON-NLS-1$ createTDQSQLRuleItem = PropertiesFactory.eINSTANCE.createTDQBusinessRuleItem(); createTDQSQLRuleItem.setDqrule(createSqlRule); createTDQParserRuleItem = PropertiesFactory.eINSTANCE.createTDQBusinessRuleItem(); createTDQParserRuleItem.setDqrule(createParserRule); createTDQMatchRuleItem = PropertiesFactory.eINSTANCE.createTDQMatchRuleItem(); createTDQMatchRuleItem.setMatchRule(createMatchRuleDefinition); Property createSQLRuleProperty = org.talend.core.model.properties.PropertiesFactory.eINSTANCE.createProperty(); createSQLRuleProperty.setItem(createTDQSQLRuleItem); createSQLRuleProperty.setLabel(createSqlRule.getName()); Property createParserRuleProperty = org.talend.core.model.properties.PropertiesFactory.eINSTANCE.createProperty(); createParserRuleProperty.setItem(createTDQParserRuleItem); createParserRuleProperty.setLabel(createParserRule.getName()); Property createMatchRuleProperty = org.talend.core.model.properties.PropertiesFactory.eINSTANCE.createProperty(); createMatchRuleProperty.setItem(createTDQMatchRuleItem); createMatchRuleProperty.setLabel(createMatchRuleDefinition.getName()); ProxyRepositoryFactory.getInstance().create(createTDQSQLRuleItem, Path.EMPTY); ProxyRepositoryFactory.getInstance().create(createTDQParserRuleItem, Path.EMPTY); ProxyRepositoryFactory.getInstance().create(createTDQMatchRuleItem, Path.EMPTY); } /** * DOC zshen Comment method "tearDownAfterClass". * * @throws java.lang.Exception */ @AfterClass public static void tearDownAfterClass() throws Exception { } /** * DOC zshen Comment method "setUp". * * @throws java.lang.Exception */ @Before public void setUp() throws Exception { } /** * DOC zshen Comment method "tearDown". * * @throws java.lang.Exception */ @After public void tearDown() throws Exception { } /** * Test method for {@link org.talend.dataprofiler.core.ui.imex.FileTreeLabelProvider#getImage(java.lang.Object)}. * case 1 :element is match rule */ @Test public void testGetImageObjectCase1() { File file = ResourcesPlugin.getWorkspace().getRoot() .getFolder(new Path(createTDQMatchRuleItem.getMatchRule().eResource().getURI().toPlatformString(false))) .getLocation().toFile(); ItemRecord itemRecord = new ItemRecord(file); FileTreeLabelProvider fileTreeLabelProvider = new FileTreeLabelProvider(); Image image = fileTreeLabelProvider.getImage(itemRecord); Assert.assertEquals(ImageLib.getImage(ImageLib.MATCH_RULE_ICON), image); } /** * Test method for {@link org.talend.dataprofiler.core.ui.imex.FileTreeLabelProvider#getImage(java.lang.Object)}. * case 2 :element is parser rule */ @Test public void testGetImageObjectCase2() { File file = ResourcesPlugin.getWorkspace().getRoot() .getFolder(new Path(createTDQParserRuleItem.getDqrule().eResource().getURI().toPlatformString(false))) .getLocation().toFile(); ItemRecord itemRecord = new ItemRecord(file); FileTreeLabelProvider fileTreeLabelProvider = new FileTreeLabelProvider(); Image image = fileTreeLabelProvider.getImage(itemRecord); Assert.assertEquals(ImageLib.getImage(ImageLib.DQ_RULE), image); } /** * Test method for {@link org.talend.dataprofiler.core.ui.imex.FileTreeLabelProvider#getImage(java.lang.Object)}. * case 2 :element is sql rule */ @Test public void testGetImageObjectCase3() { File file = ResourcesPlugin.getWorkspace().getRoot() .getFolder(new Path(createTDQSQLRuleItem.getDqrule().eResource().getURI().toPlatformString(false))).getLocation() .toFile(); ItemRecord itemRecord = new ItemRecord(file); FileTreeLabelProvider fileTreeLabelProvider = new FileTreeLabelProvider(); Image image = fileTreeLabelProvider.getImage(itemRecord); Assert.assertEquals(ImageLib.getImage(ImageLib.DQ_RULE), image); } }