Cache tab

Changes to CacheTab.cs and associated files. 
Added tests to CacheShould.cs