Skip to content

Commit

Permalink
test(u2d): add test for MocoUmlMediatingClassOptimizationTransformati…
Browse files Browse the repository at this point in the history
…onRule
  • Loading branch information
jaburjak committed May 1, 2024
1 parent f61a363 commit 72c910e
Showing 1 changed file with 39 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
Class {
#name : #MocoUmlMediatingClassOptimizationTransformationRuleTest,
#superclass : #MocoTransformationRuleTestCase,
#category : #'Moco-U2D-Tests-Rule'
}

{ #category : #'private - processing' }
MocoUmlMediatingClassOptimizationTransformationRuleTest >> execute [
^ self execute: MocoUmlMediatingClassOptimizationTransformationRule
]

{ #category : #tests }
MocoUmlMediatingClassOptimizationTransformationRuleTest >> testOptimization [
| class table pk |
class := MocoUmlClass new.
table := MocoRdbTable new.

table columns add: (MocoRdbColumn new name: 'ID'; yourself).
table constraints add: (MocoRdbPrimaryKey new name: 'PK'; yourself).
table constraints first columns add: (table columns first).

table columns add: (MocoRdbColumn new name: 'FK'; yourself).
table constraints add: (MocoRdbForeignKey new name: 'FK'; yourself).
table constraints second columns add: (table columns second).

(engine input) addElement: class; metaOf: class at: #generatedBy put: #MocoUmlManyToManyAssociationTransformationRule.
engine addOutputElement: table withSource: class.

self execute.

self assert: (table columns size) equals: 1.

pk := table constraints select: [ :each | each isKindOf: MocoRdbPrimaryKey ].
self assert: (pk size) equals: 1.
pk := pk first.

self assert: (pk columns size) equals: 1;
assert: (pk columns first) identicalTo: (table columns first)
]

0 comments on commit 72c910e

Please sign in to comment.