       assert.equal instance.size(), 0
 
   describe "#first", ->
-    it "is a function", ->
-      assert.equal typeof instance.first, "function"
+    it "returns the first item in the map", ->
+      instance.push('a', 'b')
+      assert.equal instance.first(), 'b'
+      instance.push('c', 'd')
+      assert.equal instance.first(), 'b'
+      instance.shift()
+      assert.equal instance.first(), 'd'
 
   describe "#last", ->
-    it "is a function", ->
-      assert.equal typeof instance.last, "function"
+    it "retursn the last item in the map", ->
+      instance.push('a', 'b')
+      assert.equal instance.last(), 'b'
+      instance.push('c', 'd')
+      assert.equal instance.last(), 'd'
+      instance.pop()
+      assert.equal instance.last(), 'b'
 
   describe "#at", ->
     it "returns the value for a given index", ->

      results = []
      instance.forEach [].push.bind(results)
      assert.deepEqual results, ['a', 1, 'b', 2, 'c', 3, 'd', 4]
  
  describe "#has", ->
    it "returns whether or not key is in the map", ->
      instance.push 'a', 1

    #   prior_last = instance.last()
    #   instance.push 'ghi', 'jkl'
    #   assert.equal instance.tail().prev, prior_tail

    it "adds the pair at the head if no head existed previously", ->
      instance.push 'abc', 'def'
      assert.equal instance.first(), instance.last()
