Yes, as the old saying goes, there is nothing that cannot be solved by adding another layer of abstraction. Usually I just hide the type of interface, where the interface methods are the only ones that are needed to perform the actions that I want in this type.
Just mock the interface that HttpSessionState hides and makes Asserts to use the interface, in Rhino Mocks it's just AssertWasCalled (d => ....), etc.
source share