Developer homework test.

Below you can find a test I received via email long time ago. Also, in this attachment there’s what I think is a good solution, any tough or suggestion is appreciated !

Developer Homework

Please write code to fulfill the requirements of the following user stories. We are looking for answers that demonstrate good test driven development and object orientated programming skills.

Guidance
We are looking for simple solutions to the problem, so console apps are fine. Having said that
please feel free to show us how you would solve the problem. The nature of the exercise is
very open in order for us to get a feel for your style of development.
We expect the piece of work to take no more that an evening worth of work – 3 hours or so.
You do not need to create the content for the articles, it is enough to provide a title and indicate
that a given article has content of a particular type.
Please do give feedback about the exercise.

Stories

  • So that we have rich content to attract users to our website and increase advertising
    revenue. As a journalist, I would like to be able to create a library of articles with a mix
    of content, consisting of: text, video, audio and pictures.
  • So that I can extent the reach of our content to different audiences and therefore
    increase opportunities for advertising revenue. As a journalist, I would like to be able to
    publish articles to multiple platforms: FreeSat, PS3, Web & mobile.
  • So that the user gets a positive user experience, as an editor, I only wish to have articles
    with content compatible with a given platform, published on a platform.
  • So that I can see the distribution of content on platforms and better manage further
    distribution to maximise revenue. As an Editor, I would like to see what articles are
    published on which platforms, including those that have not yet been published.

image

Here’s the source code for the solution.




No Comments


You can leave the first : )



Leave a Reply

Your email address will not be published. Required fields are marked *