Skip to main content
aboutsummaryrefslogblamecommitdiffstats
blob: 233ea45e6505c1859aee48ebf5fec74238d2d923 (plain) (tree)
1
2

                                                   
































                                                                                            
                                                                               







                                                                                    
-- @nsURI UML=http://www.eclipse.org/uml2/3.0.0/UML

module FlattenTest;
create OUT : UML from IN : UML;

helper def : testSequence : Sequence(Integer) = 
	Sequence{1,Sequence{1,Sequence{2,Sequence{2,Sequence{3,Sequence{3}}}}}};

helper def : testBag : Bag(Integer) = 
	Bag{1,Bag{2,Bag{3,Bag{4,Bag{5,Bag{6,Bag{7,Bag{8,Bag{9}}}}}}}}};
	
helper def : testSet : Set(Integer) = 
	Set{1,Set{1,Set{2,Set{2,Set{3,Set{3}}}}}};
	
helper def : testOrderedSet : OrderedSet(Integer) = 
	OrderedSet{1,OrderedSet{1,OrderedSet{2,OrderedSet{2,OrderedSet{3,OrderedSet{3}}}}}};
	
rule Class {
	from 
		trigger : UML!Model
		
	to 
		container : UML!Model (
			name <- 'tests results',
			packagedElement <- Sequence{
				testSequenceClass,
				testBagClass,
				testSetClass,
				testOrderedSetClass
			}
		),
		testSequenceClass : UML!Class (
			name <- thisModule.testSequence -> flatten() -> toString()
		),
		testBagClass : UML!Class (
			--name <- thisModule.testBag -> flatten() -> toString()
		),
		testSetClass : UML!Class (
			name <- thisModule.testSet -> flatten() -> toString()
		),
		testOrderedSetClass : UML!Class (
			name <- thisModule.testOrderedSet -> flatten() -> toString()
		)
}

Back to the top