       liar.superFunction().should.equal "Superman!"
 
 
-  it 'should treat a single object the same was as an array of one', ->
-
-    liar = createLiar # Look ma, no array!
-      function_name: 'someFunction'
-      returns:
-        value:
-          someProperty: 5
-
-    liar.someFunction().should.deep.equal
-      someProperty: 5
-
-
   describe 'arguments provided', ->
-
-    liar = createLiar [
-        function_name: 'funkyFunction'
-        arguments: [ 'apples' ]
-        returns:
-          value: 98
-    ]
+    beforeEach ->
+      liar.expect
+          function_name: 'funkyFunction'
+          arguments: [ 'apples' ]
+          returns:
+            value: 98
 
     it 'Should not work with wrong arguments', ->
 

        .should.equal 98

  describe 'Multiple lies', ->

    liar = createLiar [
      {
        function_name: 'authorize'
        returns:
          value: 98
      },{
        function_name: 'charge'
        returns:
          value: 'OK'

      }
    ]

    it 'should return stuff', ->
      liar.authorize().should.equal 98

expect      = chai.expect

lies        = require '../src/beautiful-lies'

lies.init()

describe 'expect (basic cases)', ->
  liar = null

  beforeEach ->
    liar = {}

  it 'Should simulate a function call', ->
    liar.expect
      function_name: 'someFunction'
      returns:
        value:
          someProperty: 5

    liar.someFunction().should.deep.equal
      someProperty: 5

  describe 'When returns.self is true', ->
    beforeEach ->
      liar.expect
        function_name: 'superFunction'
        returns:
          self: true
