// ============================================================================
//
// 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.cwm.compare;
import org.junit.After;
import org.junit.Before;
/**
* DOC yyin class global comment. Detailled comment
*/
public class ModelElementMatchEngineTest {
private ModelElementMatchEngine matchEngine;
/**
* DOC yyin Comment method "setUp".
*
* @throws java.lang.Exception
*/
@Before
public void setUp() throws Exception {
// matchEngine = new ModelElementMatchEngine();
}
/**
* DOC yyin Comment method "tearDown".
*
* @throws java.lang.Exception
*/
@After
public void tearDown() throws Exception {
}
/**
* Test method for
* {@link org.talend.cwm.compare.ModelElementMatchEngine#isSimilar(org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EObject)}
* .
*
* @throws FactoryException
*/
/*
* @Test public void testIsSimilarEObjectEObject() throws FactoryException { // Catalog Catalog catalog1 =
* mock(Catalog.class); Catalog catalog2 = mock(Catalog.class); when(catalog1.getName()).thenReturn("sameName");
* when(catalog2.getName()).thenReturn("sameName"); Assert.assertTrue(matchEngine.isSimilar(catalog1, catalog2));
* when(catalog2.getName()).thenReturn("differentName"); Assert.assertFalse(matchEngine.isSimilar(catalog1,
* catalog2));
*
* // Schema Schema schema1 = mock(Schema.class); Schema schema2 = mock(Schema.class);
* when(schema1.getName()).thenReturn("sameName"); when(schema2.getName()).thenReturn("sameName");
* Assert.assertTrue(matchEngine.isSimilar(schema1, schema2)); when(schema2.getName()).thenReturn("differentName");
* Assert.assertFalse(matchEngine.isSimilar(schema1, schema2));
*
* // TdTable TdTable table1 = mock(TdTable.class); TdTable table2 = mock(TdTable.class);
* when(table1.getName()).thenReturn("sameName"); when(table2.getName()).thenReturn("sameName");
* Assert.assertTrue(matchEngine.isSimilar(table1, table2)); when(table2.getName()).thenReturn("differentName");
* Assert.assertFalse(matchEngine.isSimilar(table1, table2));
*
* // TdView TdView view1 = mock(TdView.class); TdView view2 = mock(TdView.class);
* when(view1.getName()).thenReturn("sameName"); when(view2.getName()).thenReturn("sameName");
* Assert.assertTrue(matchEngine.isSimilar(view1, view2)); when(view2.getName()).thenReturn("differentName");
* Assert.assertFalse(matchEngine.isSimilar(view1, view2));
*
* // TdColumn TdColumn tdColumn1 = mock(TdColumn.class); TdColumn tdColumn2 = mock(TdColumn.class);
* when(tdColumn1.getName()).thenReturn("sameName"); when(tdColumn2.getName()).thenReturn("sameName"); TdSqlDataType
* type = mock(TdSqlDataType.class); when(tdColumn1.getSqlDataType()).thenReturn(type);
* when(tdColumn2.getSqlDataType()).thenReturn(type); Assert.assertTrue(matchEngine.isSimilar(tdColumn1,
* tdColumn2)); when(tdColumn2.getName()).thenReturn("differentName");
* Assert.assertFalse(matchEngine.isSimilar(tdColumn1, tdColumn2));
*
* // TaggedValue TaggedValue tag1 = mock(TaggedValue.class); TaggedValue tag2 = mock(TaggedValue.class);
* when(tag1.getTag()).thenReturn("sameName"); when(tag2.getTag()).thenReturn("sameName");
* when(tag1.getValue()).thenReturn("same"); when(tag2.getValue()).thenReturn("same");
*
* Assert.assertTrue(matchEngine.isSimilar(tag1, tag2)); when(tag2.getValue()).thenReturn("different");
* Assert.assertFalse(matchEngine.isSimilar(tag1, tag2));
*
* // TdExpression TdExpression exp1 = mock(TdExpression.class); TdExpression exp2 = mock(TdExpression.class);
* when(exp1.getLanguage()).thenReturn("sameName"); when(exp2.getLanguage()).thenReturn("sameName");
* when(exp1.getBody()).thenReturn("same"); when(exp2.getBody()).thenReturn("same");
* Assert.assertTrue(matchEngine.isSimilar(exp1, exp2)); when(exp2.getBody()).thenReturn("different");
* Assert.assertFalse(matchEngine.isSimilar(exp1, exp2));
*
* // TdSqlDataType TdSqlDataType type1 = mock(TdSqlDataType.class); TdSqlDataType type2 =
* mock(TdSqlDataType.class); when(type1.getName()).thenReturn("sameName");
* when(type2.getName()).thenReturn("sameName"); Assert.assertTrue(matchEngine.isSimilar(type1, type2));
* when(type2.getName()).thenReturn("differentName"); Assert.assertFalse(matchEngine.isSimilar(type1, type2));
*
* // MetadataColumn MetadataColumn mColumn1 = mock(MetadataColumn.class); MetadataColumn mColumn2 =
* mock(MetadataColumn.class); when(mColumn1.getLabel()).thenReturn("sameName");
* when(mColumn2.getLabel()).thenReturn("sameName"); Assert.assertTrue(matchEngine.isSimilar(mColumn1, mColumn2));
* when(mColumn2.getLabel()).thenReturn("differentName"); Assert.assertFalse(matchEngine.isSimilar(mColumn1,
* mColumn2));
*
* // MetadataTable MetadataTable mTable1 = mock(MetadataTable.class); MetadataTable mTable2 =
* mock(MetadataTable.class); when(mTable1.getLabel()).thenReturn("sameName");
* when(mTable2.getLabel()).thenReturn("sameName"); Assert.assertTrue(matchEngine.isSimilar(mTable1, mTable2));
* when(mTable2.getLabel()).thenReturn("differentName"); Assert.assertFalse(matchEngine.isSimilar(mTable1,
* mTable2));
*
* // TdView DatabaseConnection con1 = mock(DatabaseConnection.class); DatabaseConnection con2 =
* mock(DatabaseConnection.class); Assert.assertTrue(matchEngine.isSimilar(con1, con2));
*
* }
*/
}