/*******************************************************************************
 * Copyright (c) 2017 Obeo.
 * 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
 *
 * Contributors:
 *    Obeo - initial API and implementation and/or initial documentation
 *    ...
 *******************************************************************************/
package org.eclipse.intent.mapping.emf.tests;

import org.eclipse.intent.mapping.emf.tests.base.AbstractCDOTextResourceLocationTests;
import org.eclipse.intent.mapping.emf.tests.base.Factory;
import org.eclipse.intent.mapping.tests.base.IBaseFactory;

/**
 * Test {@link org.eclipse.intent.mapping.CDOTextResourceLocation CDOTextResourceLocation}.
 *
 * @author <a href="mailto:yvan.lussaud@obeo.fr">Yvan Lussaud</a>
 */
public class EMFCDOTextResourceLocationTests extends AbstractCDOTextResourceLocationTests {

	@Override
	protected IBaseFactory getFactory() {
		return Factory.INSTANCE;
	}

}
