-
Notifications
You must be signed in to change notification settings - Fork 6
/
test_dependencies_generation.py
36 lines (30 loc) · 1.08 KB
/
test_dependencies_generation.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import importlib
from os import path
import pytest
import pyecore.ecore as Ecore
from pyecore.resources import ResourceSet, URI
from pyecore.utils import DynamicEPackage
from pyecoregen.ecore import EcoreGenerator
@pytest.fixture(scope='module')
def generated_metamodel(pygen_output_dir):
rset = ResourceSet()
resource = rset.get_resource(URI('input/A.ecore'))
library_model = resource.contents[0]
generator = EcoreGenerator(with_dependencies=True)
generator.generate(library_model, pygen_output_dir)
return importlib.import_module('a')
def test_cross_resource_packages(generated_metamodel):
A = generated_metamodel.A
B = A.b.eType
C = B.eClass.eSuperTypes[0].python_class
D = B.to_enum.eType
A_package = A.eClass.ePackage
B_package = B.eClass.ePackage
C_package = C.eClass.ePackage
D_package = D.eClass.ePackage
assert A_package is not B_package
assert A_package is not C_package
assert B_package is not C_package
assert A_package is not D_package
assert B_package is not D_package
assert C_package is not D_package