@startuml
skinparam classAttributeIconSize 0

	interface TestElementaire {
	    --
	    lancer(r: ResultatTest) {Abstract}
	}
	
	class SuiteTest {
	    --
	    lancer(r: ResultatTest)
	}
	
	interface Test {
	    --
	    lancer()
	}
	
	class ResultatTest {
	    - nbTestsLaces: integer
	    - nbTestsEchecs: integer
	}
	
	note right of SuiteTest
	    for(TestElementaire t : tests) {
	        t.lancer();
	    }
	end note

	'SuiteTest "*" *-- "1..*" TestElementaire : Teste
	'SuiteTest o-- "*" SuiteTest
	Test "1..*" --o "*" SuiteTest
	SuiteTest .up.|> Test
	TestElementaire -|> Test
	TestElementaire "*" --o ResultatTest

@enduml