          */
         static public function assertFalse(...args:Array):void {
             var message:String;
-            var condition:Boolean;
+            var actual:Object;
 
             if(args.length == 1) {
                 message = "";
-                condition = Boolean(args[0]);
+                actual = args[0];
             }
             else if(args.length == 2) {
                 message = args[0];
-                condition = Boolean(args[1]);
-            }
-            else {
-                throw new IllegalOperationError("Invalid argument count");
-            }
-
-            assertTrue(message, !condition);
+                actual = args[1];
+            }
+            else {
+                throw new IllegalOperationError("Invalid argument count");
+            }
+
+            if(actual) {
+				failNotEquals(message, false, actual);
+            }
         }
         /**
          *  Fails a test with the given message.
-         *  
+         *
          *  @example This method can be called anytime you want to break out and fail
          *  the current test.
          *

         */
        static public function assertNull(...args:Array):void {
            var message:String;
            var object:Object;

            if(args.length == 1) {
                message = "";
                object = args[0];
            }
            else if(args.length == 2) {
                message = args[0];
                object = args[1];
            }
            else {
                throw new IllegalOperationError("Invalid argument count");
            }

            assertTrue(message, object == null);
        }
        /**
         * Asserts that two objects refer to the same object. If they are not

         *  public function testNames():void {
         *      var name1:String = "Federico Aubele";
         *      var name2:String = "Frederico Aubele";
         *
         *      assertEquals(name1, name2);
         *  }
         *  </listing>
