Hi, thanks for posting.
The pinning of namespaces opens an interesting question about expected behaviour. If you were to pin a namespace, would you expect it to pin only the tests visible in the tests window under your chosen namespace, or would you expect it to pin ALL the tests in the namespace regardless of whether the tests window was showing them?
If a new fixture is then created under the namespace, would it be automatically pinned?
The intuitive answer would probably be that it would pin all the tests in the namespace, and the new fixture would also be pinned. The implementation of such a thing because it would mean adding the namespace itself as concept inside NCrunch's model, with a persistent status to indicate that it's been pinned. If you were to remove the tests under that namespace, the pinned namespace would no longer show. If a test was then added under the namespace several weeks later, it would suddenly be pinned unexpectedly.
It's much simpler to handle these problems at fixture and test level, because we already have persistent objects we can apply the status to, and they have a clear and well determine life cycle. The pinned status for tests and fixtures is stored in the NCrunch .cache file, so it should be saved automatically on a clean exit. Probably if you forcefully shut down it might be possible that the status could be lost with the rest of the session state (in which case you'd get the .cache from the last session).