I figured out what the problem was.
Unit Test
...
MockObject mockSessionTracking = MockManager.MockObject(typeof(SessionTracking));
mockSessionTracking.ExpectGet("UserAgent", session.Agent);
MockObject mockInterface = MockManager.MockObject(typeof(ITrackingView));
mockInterface.ExpectGetAlways("SessionTracking", mockSessionTracking.Object);
...
The UserAgent property in the mockSessionTracking object would return the value correctly the first time, because it was an ExpectedGet call. For some reason I believe that the ExpectGet fired when I created the mockInterface and set the mockSessionTracking.Object to the SessionTracking Get property. At this point the UserAgent property would throw a System.NullReferenceException.
To fix this I did the following. Set the UserAgent property to ExpectGetAlways. Then it works all the way through the unit test where the the actual call is made to the UserAgent property.
Unit Test
...
MockObject mockSessionTracking = MockManager.MockObject(typeof(SessionTracking));
mockSessionTracking.
ExpectGetAlways("UserAgent", session.Agent);
MockObject mockInterface = MockManager.MockObject(typeof(ITrackingView));
mockInterface.ExpectGetAlways("SessionTracking", mockSessionTracking.Object);
...
Thanks for you help,
Eric