view bindings/as3/ext/asunit/textui/TestTime.as @ 770:c54bc2ffbf92 tip

update tags
author convert-repo
date Fri, 16 Dec 2011 11:34:01 +0000
parents 3a0b9700b3d2
children
line wrap: on
line source
package asunit.textui
{
    import asunit.framework.AsynchronousTestCase;
    import asunit.framework.Test;
    
    public class TestTime extends Object
    {
        public static function create(test:Test, duration:int):TestTime
        {
            var asyncTest:AsynchronousTestCase = test as AsynchronousTestCase;
            if (asyncTest && asyncTest.remoteDurationIsValid())
            {
                return new AsyncTestTime(asyncTest, duration, PrivateConstructorEnforcer);
            }
            else
            {
                return new TestTime(test, duration, PrivateConstructorEnforcer);
            }
        }
        
        private var _name:String;
        private var _duration:int;
        public function get duration():int
        {
            return _duration;
        }
        
        public function TestTime(test:Test, duration:int, lock:Class)
        {
            super();
            if (lock != PrivateConstructorEnforcer)
            {
                throw new Error("TestTime: private constructor");
            }
            
            _name = test.getName();
            _duration = duration;
        }
        
        public function toString():String
        {
            return "" + _duration + 'ms : ' + _name;
        }
        
    }
}
    import asunit.framework.Test;
    import asunit.framework.AsynchronousTestCase;
    import asunit.textui.TestTime;
    

class AsyncTestTime extends TestTime
{
    private var _remoteDuration:int;
    
    public function AsyncTestTime(test:AsynchronousTestCase, duration:int, lock:Class)
    {
        super(test, duration, lock);
        _remoteDuration = test.remoteDuration;
    }
    
    override public function toString():String
    {
        return super.toString() + ' (remote: ' + _remoteDuration + 'ms)';
    }
}

class PrivateConstructorEnforcer {}