Tests different design patterns such as Singleton, Factory, Adapter,Decorator and Observer design pattern.