Package com._1c.g5.v8.dt.testing
Class TestingPlatformSupport
- java.lang.Object
-
- org.junit.rules.ExternalResource
-
- com._1c.g5.v8.dt.testing.TestingPlatformSupport
-
- All Implemented Interfaces:
org.junit.rules.TestRule
public class TestingPlatformSupport extends org.junit.rules.ExternalResourceTesting platform support rule allows to add 1C:Enterprise platform version support for testing purposes and provide stubs for platformEObjectproviders or platform resource factories. By default platform support sets upEObjectprovider for platform types provision only.Example of rule usage:
public class PlatformAwareExampleTest { @ClassRule public static TestingPlatformSupport testingPlatformSupport = new TestingPlatformSupport(Version.V8_3_12); @Test public void testSomeProjectOrServiceBehavior() { // we can use project or version related services ... } }
-
-
Constructor Summary
Constructors Constructor Description TestingPlatformSupport(Version version, Version... other)Creates an instance ofTestingPlatformSupport.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddFontProvider(IPlatformFontProvider provider)Adds custom font provider to the font resource factory.voidaddMethodProvider(IPlatformMethodProvider provider)Adds custom method provider to the method resource factory.voidaddTypeProvider(IPlatformTypeProvider provider)Adds custom type provider to the type resource factory.protected voidafter()protected voidbefore()voidcleanUpSupport()Cleans all previously added version support.voidremoveFontProvider(IPlatformFontProvider provider)Removes custom font provider to font resource factory.voidremoveMethodProvider(IPlatformMethodProvider provider)Removes custom method provider to method resource factory.voidremoveTypeProvider(IPlatformTypeProvider provider)Removes custom type provider to type resource factory.voidsetUpEObjectProvider(org.eclipse.emf.ecore.EClass eClass, Version version, Class<? extends IEObjectProvider> eObjectProvider)Adds platformEObjectprovider of the providedEClassand 1C:Enterprise platfrom version for testing purposes.voidsetUpEObjectProvider(org.eclipse.emf.ecore.EClass eClass, Version version, Class<? extends IEObjectProvider> eObjectProvider, Class<? extends org.eclipse.core.runtime.IExecutableExtensionFactory> extensionFactory)Adds platformEObjectprovider of the providedEClassand 1C:Enterprise platfrom version for testing purposes created with the specified extension factory.voidsetUpResourceFactory(String fileExtension, org.eclipse.emf.ecore.resource.Resource.Factory resourceFactory)Adds platform resource factory support for the provided file extension.voidsetUpRuntimeSupport(Version version)Adds platform support for the provided 1C:Enterprise platfrom version for testing purposes.voidsetUpTypeResourceFactory(org.eclipse.emf.ecore.resource.Resource.Factory resourceFactory)Adds platform resource factory support for thetypefile extension.
-
-
-
Constructor Detail
-
TestingPlatformSupport
public TestingPlatformSupport(Version version, Version... other)
Creates an instance ofTestingPlatformSupport.- Parameters:
version- the platform version to support in test, cannot benullother- others platform version to support in test, cannot benull
-
-
Method Detail
-
addTypeProvider
public void addTypeProvider(IPlatformTypeProvider provider)
Adds custom type provider to the type resource factory. All type providers will be iterated during type creation to find appropriate one.- Parameters:
provider- the type provider to add, cannot benull- See Also:
IPlatformTypeProvider
-
removeTypeProvider
public void removeTypeProvider(IPlatformTypeProvider provider)
Removes custom type provider to type resource factory.- Parameters:
provider- the type provider to remove, cannot benull
-
addFontProvider
public void addFontProvider(IPlatformFontProvider provider)
Adds custom font provider to the font resource factory. All font providers will be iterated during font creation to find appropriate one.- Parameters:
provider- the font provider to add, cannot benull- See Also:
IPlatformFontProvider
-
removeFontProvider
public void removeFontProvider(IPlatformFontProvider provider)
Removes custom font provider to font resource factory.- Parameters:
provider- the font provider to remove, cannot benull
-
addMethodProvider
public void addMethodProvider(IPlatformMethodProvider provider)
Adds custom method provider to the method resource factory. All method providers will be iterated during method creation to find appropriate one.- Parameters:
provider- the method provider to add, cannot benull- See Also:
IPlatformMethodProvider
-
removeMethodProvider
public void removeMethodProvider(IPlatformMethodProvider provider)
Removes custom method provider to method resource factory.- Parameters:
provider- the method provider to remove, cannot benull
-
setUpRuntimeSupport
public void setUpRuntimeSupport(Version version)
Adds platform support for the provided 1C:Enterprise platfrom version for testing purposes.Note that method need to be executed before test projects or sevices usage.
- Parameters:
version- the platform version to support in test, cannot benull- See Also:
IRuntime
-
setUpEObjectProvider
public void setUpEObjectProvider(org.eclipse.emf.ecore.EClass eClass, Version version, Class<? extends IEObjectProvider> eObjectProvider)Adds platformEObjectprovider of the providedEClassand 1C:Enterprise platfrom version for testing purposes.EObjectprovider must have no-args constructor.Note that method need to be executed before test projects or sevices usage.
- Parameters:
eClass- the class of the provider, cannot benullversion- the platform version to support in test, cannot benulleObjectProvider- the provider class to use, cannot benull
-
setUpEObjectProvider
public void setUpEObjectProvider(org.eclipse.emf.ecore.EClass eClass, Version version, Class<? extends IEObjectProvider> eObjectProvider, Class<? extends org.eclipse.core.runtime.IExecutableExtensionFactory> extensionFactory)Adds platformEObjectprovider of the providedEClassand 1C:Enterprise platfrom version for testing purposes created with the specified extension factory.Note that method need to be executed before test projects or sevices usage.
- Parameters:
eClass- the class of the provider, cannot benullversion- the platform version to support in test, cannot benulleObjectProvider- the provider class to use, cannot benullextensionFactory- the Eclipse extension factory class to use, cannot benull
-
setUpTypeResourceFactory
public void setUpTypeResourceFactory(org.eclipse.emf.ecore.resource.Resource.Factory resourceFactory)
Adds platform resource factory support for thetypefile extension.Note that method need to be executed before test projects or sevices usage.
- Parameters:
resourceFactory- the resource factory, cannot benull
-
setUpResourceFactory
public void setUpResourceFactory(String fileExtension, org.eclipse.emf.ecore.resource.Resource.Factory resourceFactory)
Adds platform resource factory support for the provided file extension.Note that method need to be executed before test projects or sevices usage.
- Parameters:
fileExtension- the file extension, cannot benullresourceFactory- the resource factory, cannot benull
-
cleanUpSupport
public void cleanUpSupport()
Cleans all previously added version support.
-
before
protected void before() throws Throwable- Overrides:
beforein classorg.junit.rules.ExternalResource- Throws:
Throwable
-
after
protected void after()
- Overrides:
afterin classorg.junit.rules.ExternalResource
-
-