This is the my proposal to take part in the 2012 edition of Google Summer of Code
- Mekhti Musaev
- Project title
- Adding unit tests to SMW
Contact/working info 
- Saint Petersburg - Russia (GMT/UTC +4:00 hours)
- Typical working hours
- 9 a.m. - 5 p.m.
- IRC or IM networks/handle(s)
- JID: firstname.lastname@example.org
- IRC: Merus (on irc.freenode.net/mediawiki)
- Other contact details
- Skype: mmehti
Project summary 
The MediaWiki is a big platform for realisation great Wiki sites. Semantic MediaWiki is a good extension for editing pages. It's fast, easy and comfortable way to input big texts. While traditional wikis contain bare text which cannot be either understood or processed by computer, SMW adds semantic annotations which allows wiki to function using the advantages of data bases and turns MediaWiki into the full-blown semantic wiki.
Fixing bugs in any project is the dominant component because it helps to avoid problems. It needs much attention from developers and testers, because every big project has some unnoticeable bugs. Writing Unit tests helps to prevent this issue. Testing SMW is fruitful work. It helps Wikimedia and Wikipedia to be more efficient. Also it brings good new ideas around project architecture. I will create PHPUnit tests and possibly some QUnit.
Required deliverables 
(Unfortunately I don't know (I wrote an e-mail to Jeroen De Dauw, but haven't received anything yet) for which classes unit tests must be written, I'll write for DataValues and DataItem DataValues and DataItem)
- Creating Unit tests for DataValues class;
- Writing documentation for code and make it concise;
If time permits 
- Creating unit tests for DataItem classes;
- Making DataItem classes more legible and cleaning it up;
Project schedule 
This is preliminary plan until GSOC Final:
- 9 April to 20 April: Improving knowledge about PHP, PHPUnit and some QUnit testing. Getting started to read documentation code. Studying SMW architecture..
- 23 April to 27 April: Writing unit tests for SMW_DV_Error class.
- 30 April to 11 May: Writing unit tests for SMW_DI_Bool and SMW_DV_Temperature classes.
- 14 May to 18 May: Writing unit tests for SMW_DV_PropertyList class.
- 21 May to 25 June: University tests/exams.
- 26 June to 6 July: Writing unit tests for SMW_DV_String, SMW_DV_Import, SMW_DV_Types and classes.
- 2 July to 13 July: Writing unit tests for SMW_DV_Concept, SMW_DV_Quantity, SMW_DV_Record and classes. Time to Mid-review.
- 16 July to 20 July: Writing unit tests for SMW_DV_URI, SMW_DV_Number and classes.
- 23 July to 27 July: Writing unit tests for SMW_DV_Property, and classes.
- 30 July to 10 August: Writing unit tests for SMW_DV_WikiPage, SMW_DataValue and classes.
- 13 August to 17 August: Writing unit tests for SMW_DV_Time class. Starting to write unit tests for DataItem classes.
- 20 August to 24 August: CGet the code more legibility and get ready for the merge. Time of final testing.
About me 
I always want to make something useful and usable for people around the World. I think participation in Open Source Project is a good chance to do it. And in my beliefs, every engineer should spend his little valuable time for improvement the Open Source World. Google Summer of Code is the best way to confirm it and to do qualitively.
Past open source experience 
I have got experience in Open Source projects (most of all at University). One of them - Project at the University (http://code.google.com/p/wind-viewer/).
Any other info 
- http://linkedin.com/in/musaoglu - My linkedin profile