     import flash.net.URLLoader;
     import flash.utils.getTimer;
     
-    import mx.rpc.AsyncToken;
-    import mx.rpc.Responder;
-    import mx.rpc.events.FaultEvent;
-
     /**
      * Extend this class if you have a TestCase that requires the
      * asynchronous load of external data.

            dispatchEvent(new Event(Event.COMPLETE));
        }

        protected function resultFunc(event:Object):void
        {
            completeHandler(event as Event);
        }
        
        protected function faultFunc(event:Object):void
        {
            var faultEvent:FaultEvent = event as FaultEvent;
            if (faultEvent == null)
            {
                return;
            }
            var cause:Object = faultEvent.fault.rootCause;
            var ioErrorEvent:IOErrorEvent = cause as IOErrorEvent;
            if (ioErrorEvent)
            {
                ioErrorHandler(ioErrorEvent);
                return;
            }
            var securityErrorEvent:SecurityErrorEvent = cause as SecurityErrorEvent;
            if (securityErrorEvent)
            {
                securityErrorHandler(securityErrorEvent);
            }
        }

        public function testRemoteDuration():void {
            if (!remoteDurationIsValid())
            {

            loader.addEventListener(Event.OPEN, openHandler);
            loader.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
        }

        // in a subclass, you should override this method and call super.run() at the end
