 			failWarning: ()->
 				this.fail = true
 				results.bad++
-				console.error this.title + " failed."
+				console.error "#{this.title} test failed."
 		desc.parent = results.running if results.running
 		results.toTest.push desc
 		results.total++
 
 	r.assert = (result, expected)->
+		assertFail = false
+		results.asserts++
 		bw = ", but was:"
 		if 'object' == typeof expected
 			if 'object' != typeof result
-				results.running.fail = true
+				assertFail = true
 				console.error "Expected any object" + bw, result
 		else if 'function' == typeof expected
 			if 'function' != typeof result
-				results.running.fail = true
+				assertFail = true
 				console.error "Expected any function" + bw, result
 		else if result != expected
+			assertFail = true
+			console.error "Expected ", expected, bw, result
+		if assertFail
+			results.badAsserts++
 			results.running.fail = true
-			console.error "Expected ", expected, bw, result
 
 	r.run = ()->
 		while results.toTest.length > 0

				results.running.failWarning()
				if results.running.parent && !results.running.parent.fail
					results.running.parent.failWarning()
		console.log "Of " + results.total + " tests, " + results.bad + " failed, " + (results.total - results.bad) + " passed."
	r

	if options && options.global

	results = {
		running: null
		toTest: []
		asserts: 0
		badAsserts: 0
		total: 0
		bad: 0
	}
