Take the 2-minute tour ×  I have designed a small library for
work that consists of a few exposed classes. These can basically
be thought of as a server class and client class. But now that I
am writing all the test cases and examples, I am questioning
myself on whether the classes should be used in a class or
inherited.  I know about the composition over inheritance
theology but at the same time, the OOP basics pop into my head:
has-a and is-a relationships.  My main question is which makes
more sense and which would make it easier for the programmers
that use my library?  I have already ready numerous topics on SO
and Programmers regarding this topic, none really target my
question though:  share|improve this question Are you struggline
to write the unit tests for these because of the structure or do
you just not like how the tests look? Are the unit tests hinting
at a possible re-structuring or better arch which is often what
TDD can resolve? –  dreza Jul 14 '12 at 22:56 To what deity
should I pray? To the