 
 exports.execProcOutputIntNull = (test) ->
   testProcOutput(test, TYPES.Int, 'int', null)
+
+exports.execProcOutputSmallDateTime = (test) ->
+  testProcOutput(test, TYPES.SmallDateTime, 'smalldatetime', new Date('December 4, 2011 10:04:00'))
+
+exports.execProcOutputSmallDateTimeNull = (test) ->
+  testProcOutput(test, TYPES.SmallDateTime, 'smalldatetime', null)
+
+exports.execProcOutputDateTime = (test) ->
+  testProcOutput(test, TYPES.DateTime, 'datetime', new Date('December 4, 2011 10:04:23'))
+
+exports.execProcOutputDateTimeNull = (test) ->
+  testProcOutput(test, TYPES.DateTime, 'datetime', null)
 
 exports.execProcWithBadName = (test) ->
   test.expect(3)

exports.execProcIntNull = (test) ->
  testProc(test, TYPES.Int, 'int', null)

exports.execProcOutputVarChar = (test) ->
  testProcOutput(test, TYPES.VarChar, 'varchar(10)', 'test')



  request.on('returnValue', (name, returnValue, metadata) ->
    test.strictEqual(name, 'paramOut')
    if (value instanceof Date)
      test.strictEqual(returnValue.getTime(), value.getTime())
    else
      test.strictEqual(returnValue, value)
    test.ok(metadata)
  )

