-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add test cases for "completeness" checks #5
Comments
From the case description, this is what we need to propose as scenarii:
We can provide additional source models but we can use SampleClass to cover all scenarios. For scenario 3, we could test an alternative with dangling Datatypes. Hope this will help :) |
Unfortunately many of the changes cannot be expressed with the change-metamodel so far. |
I committed an initial change set which refer mostly to the tasks:
setting the owner to null means that the Attribute is removed from the source model; I added this as special case
|
|
I can create that change but i cannot apply it savely to the source model currently; even if i delete it here |
@sandragreiner could you explain how correctness folders numbering relates to numbers in the change set? |
are you sure that your up-to-date on the main branch? correctness1 refers only to case 1 of the description file |
and yes, we thought the same, to have just one change per check :) but maybe we do not need that one? i have not listed it yet in the description for that reason that i was not sure if we should add/keep it |
Thanks Sandra for your reply, after an update it looks better ;) |
Hi @sandragreiner and @TheoLeCalvar , I'm on correctness13 expected models and I wonder how strict we would like the version of expected (2). In the current source model, we have an attribute typed by Person but it is multi-valued, so the target model contains a table with foreign keys. Is it expected that this table is not removed by the change in expected 2? Is expected (2) the right description for it? |
I'm about to finish correctness10 to 12 but need to review 13 and previous examples, especially for null values :) |
trying to anwering your previous comment: good question. I guess it may depend on what happens to the source model when the deletion operations is applied: i assumed that the type of the multi-valued members-reference is unset. I tried to apply the single change to the source model just now and found that the deletion of the class Person was not applied :/ so you best either counter check @TheoLeCalvar and @mickaelclavreul whether and how the change is applied to the source model. I'm unfortunately mostly busy this afternoon :/ |
but I can have a look at it tomorrow |
We found an edge case the other about these behaviors. Depending on which metamodel you used (loaded from ecore or compiled) we had different behaviors for uninitialized attributes (
I guess that's because right now the ATOL transformation does not subscribe to change at the resource level (see here, we only go other the resource content and apply transformation rules), so added (or removed) elements in the resource are missed. We'll need to fix that. |
Done adding expected models for each correctness check (but scales). |
If I saw it correctly, @mickaelclavreul , you created the expected models in the way they include the questioned behavior, right? |
That was the idea @sandragreiner :) |
We need to decide on test cases for the completeness checks.
We might want to track the steps separately but for now here's the list:
- for each test
- create source model(s) + change + expected results
The text was updated successfully, but these errors were encountered: