conceptually, this may not be the purest conceivable solution, but it is the most practical one.
note that this test only checks for API compliance but not if the compotations of the components make any sense.