MOQ and the Test Run deployment issue - The location of the file or directory problem

The NerdDinner example uses the MOQ-framework for mocking some authentication mechanism.

This framework is new to me and when I downloaded it (one dll – great stuff!) I immediately ran into the “Test Run deployment issue: The location of the file or directory” – exception.

Here is a great article explaining how to solve it. I needed to restart Visual Studio to get it to “take” – but then it worked great.

Read More

ASP.NET MVC – completing the NerdDinner example

I am now done with the run-through for the ASP.NET MVC book I’ve talked about before.

The first thing to notice is how great this way of introducing a subject is/was. 196 pages of really interesting examples and code. Really looking forward to the complete book.

Secondly, I’ve picked up some really useful and interesting techniques surrounding ASP.NET MVC:

  • The UpdateModel method, or rather not using it. You can specify a parameter to an ActionMethod (of the same type as in the View) and the framework will fill it out with data from the form.
  • There are some really useful attributes in the framework, such as Authorize.

I also learned some lessons surrounding my repositories that I’ll need to include in the Sprint Planner Helper project. I’ll get back to that…

Read More

ASP.NET MVC – The Nerd Dinner example

I am going through the free sample chapter that I talked about earlier. It’s one thick chapter (196 pages) but it’s really good to introduce concepts and features of the ASP.NET MVC framework.

I love it! I cannot say anything else when after a few years of WebForms and me not understanding I am back. I actually get this – no more funky event-firing and endless questions about which event is fired first.

On top of that, the whole framework is built and works very well to be tested and built with TDD.

There are so many nice little features that I just cannot wait to know as well as the back of my hand… UpdateModel and ModelState just to mention a few.

I am now halfway through and will continue to the end. I’ll get back to you if anything more...

Read More

Sprint Planner Helper – Session 20

Today I plan to finish up the last part of the prioritizing of Product Backlog Items (see Session 19). That is, TDD the controller and then wrap the GUI.

Let’s go!

Whoa – I ran into some problems with routing. Some problems that took me about two sessions (read: hours) to solve. To not bore you with details or meaningless posts of me scratching my head, I’ll sum it up in this post.

Here is the layout of the “problem”: I have an Action-method with two parameters:

public ActionResult PrioUp(int productID, int productBacklogItemID) 

OK – but how do I create a link to that method? Well, by using the Html-helper ActionLink-method, of course. You define an anonymous object with the route values. Here is my example:

ASP.NET MVC "The parameters dictionary contains a null entry for parameter”

This (The parameters dictionary contains a null entry for parameter) exception was thrown at me and confused me for a while.

If you ever encounter it I can almost guarantee that you have a Routing-issue. That is the way the ASP.NET MVC framework is figuring out which controller and which method to invoke.

In my case I had a controller action method that required two parameters but my routing table only allowed for one.

Here is a description on how to add your own, custom route rules.

And also here is a great tool to understand and debug your routing-table entries.

Finally – this webcast contains a discussion about how to change routes.

Read More

Sprint Planner Helper – Session 19

After my refactoring yesterday, the function that re-prioritizes product backlog items was reduced to swapping priority points on two items.

So that’s what I’ll do today. TDD through a function that swaps priority points for a product backlog item and the item before (prioritize up) or after (prioritize down) it.

Coding in progress

That really was an old-time programming problem. Fun! But now I have TDD’ed a priority swap algorithm. That was all I managed to get through today. Some progress, I think.

Now all that is left is to reach this functionality from the GUI and reload the list after it’s done.

Read More

My light and song

In a few weeks the Vasa Band will do a music festival at the corps. I will play an euphonium solo and was looking for something that isn’t played very often.

For a long time, several years actually, I have had the solo part for My Light and Song (FS 228) in my “collection”, but never dared try to play it.

I have actually never heard it played (actually Patrik Randefalk did play it with the Vasa Band in the 90s) or recorded.

I’ll try to post a recording here… after March 25.

[UPDATED] This is so sick! This book contains all music (kinda) that is available for euphonium. And who has recorded it! Including a reference to recordings by my father.

And My Light and Song is recorded. By a Mr. John Butler.

The internet is amazing…

Read More

Sprint Planner Helper – Session 18

I haven’t done too much on the Sprint Planner Helper project during this week. A lot of Salvation Army activities have taken up my time.

But I have read the blog post (in the form of a PDF-book) from DDD Step By Step. I have read much of it before, but sometimes other words clear things up for you. This book did it for me.

OK – what to do tonight (Abbe is sound asleep and Elin has gone to work). I have most of the stuff from my first two user stories in place. But I need a way to easily move product backlog items up and down in the list. This will come in handy when the product backlog items are estimated.

So I’ll introduce some methods to move them in the product backlog list. And some arrows in the GUI for the list.

Let’s write...

Read More