Hi folks,
Zhon and I have been kicking around a topic for this month's XP Utah meeting on July 14th, and below is my proposal. Your thoughts and comments are most appreciated.
eXtreme Programming Practice: NUnitLite for Windows Phone 7
-or-
Windows Phone 7! Food! Swag! Cats! Cats? Hottub! Hottub?!?!?
When:
- July 14th, 7 PM - 10 PM
Context:
- In Windows Phone 7 and other embedded .NET environments like Xbox 360, the code you write for the target environment doesn't execute on your desktop. It uses a different version of the .NET runtime which is different from the desktop version. Therefore you can't use the regular NUnit test runner to execute unit tests against your target environment code. For Windows Phone 7, there is a device emulator to which you can deploy an application and run it. For Xbox 360, there is a means by which you can deploy your application to the Xbox 360 and run it. (There is no emulator.) Silverlight also has a different .NET runtime, but since its embedded within a browser its less problematic. NUnitLite is a library designed to be included directly with your unit tests and is stripped down to a minimal set of essentials for unit testing in .NET. It has a basic console based test runner.
Problem:
- Create a test runner that executes in the target environment (Windows Phone 7) and provides a green/red indicator that shows the state of the executed tests. Like traditional NUnit, the test runner should let you browse through the tests to see details of failing tests. Can a mechanism be created to deploy and execute the tests automatically as part of a build?
Exercise:
- Let's approach this problem as a chance to practice a vertical slice of XP: spikes, story mapping, story writing, costing, iterations, etc. Thanks to Alistair's slicing tutorial, I think we could do 20 or 30 minute iterations so that we can feel like we are making progress.
Environment:
- You will need the following to participate: - Windows execution environment (Vista or Windows 7 *only*) - Windows Phone 7 Developer Tools CTP - NUnitLite 0.6.0 - bathing suit (see Reflection below) I have wireless ethernet at my house, but if you plan to attend please be prepared by having your computer ready to go. Prepare a Windows execution environment and have the CTP tools installed and NUnitLite downloaded.
Location:
- Instead of meeting at Border's bookstore, I propose that we have this XP Utah at my house. Directions are located here:
http://www.xmission.com/~legalize/tmp/xputah-directions.txt I have comfortable seating for 6, with a couple more lawn chairs and floor space. However, I don't think I've ever been at an XP Utah meeting with more than 6 people, so we should be fine. I have two cats (you're likely only to see one of them, but you never know), so if you are allergic to cats you may want to skip this meeting or take some allergy medication.
Bonus!
- We have a sponsor! Microsoft has given me some swag and a small food budget. We will order up some food for the meeting. Suggestions are welcome; so far the suggestions have been pizza (boring) or Chinese take-out.
Reflection:
- I propose we reflect on the whole meeting in my hottub (seats 8), so bring your bathing suit. I have plenty of clean towels. For those who wish to decline the hottub, there is plenty of bench space on the adjoining deck so we can still have a group discussion.
-- "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download http://legalizeadulthood.wordpress.com/the-direct3d-graphics-pipeline/
Legalize Adulthood! http://legalizeadulthood.wordpress.com
