   it 'should set a value synchronously', (done) ->
     optionsSync = _.clone options
     optionsSync.update = -> 'value'
-    cacheSync = new CacheTests CacheClass, optionsSync, impromptu, "impromptu-cache-api-test-#{counter++}"
+    cacheSync = new CacheTests CacheClass, optionsSync, impromptu, test.name()
 
     async.series [
       (fn) -> cacheSync.getShouldEqualFallback fn

      result.should.equal true
      fn err

test = {}

test.base = (CacheClass, options = {}) ->
  impromptu = new Impromptu
  counter = 0
  cache = null

  beforeEach ->
    cache = new CacheTests CacheClass, options, impromptu, "impromptu-cache-api-test-#{counter++}"

  it 'should create an instance', ->
    should.exist cache

    cached.run ->

  it 'should fetch cached values', (done) ->
    name = test.name()
    updater = new CacheClass background, name,
      update: (fn) ->
        fn null, 'value'

    fetcher = new CacheClass impromptu, name,
      update: (fn) ->
        should.fail 'Update should not run.'
        fn null, 'value'
