 			instance = null;
 			eventDispatcher = null;
 			commandTracker = null;
+			injector = null;
 		}
 
 		[Test]

package org.robotlegs.v2.experimental 
{
	import org.flexunit.asserts.*;
	import flash.events.EventDispatcher;
	import org.flexunit.asserts.assertEqualsArraysIgnoringOrder;
	import flash.events.Event;

	public class CommandFlowTest 
	{
		private var instance:CommandFlow;
		private var eventDispatcher:EventDispatcher;
		private var commandTracker:CommandTracker;

		[Before]
		public function setUp():void

			command.commandTracker = commandTracker;
			command.execute();
		}
		
		[Test]
		public function one_event_triggers_one_command_with_injection():void
		{
			eventDispatcher.addEventListener(Event.COMPLETE, fireCommandUsingInjection);
			eventDispatcher.dispatchEvent(new Event(Event.COMPLETE));
			const expectedCommands:Array = [SimpleCommand];
			assertEqualsArraysIgnoringOrder(commandTracker.commandsReceived, expectedCommands);
		}

		protected function fireCommandUsingInjection(e:Event):void
		{
			const command:SimpleCommand = injector.getInstance(SimpleCommand);
			command.execute();
		}
		
		[Test]
		public function one_event_triggers_two_commands_in_order():void
		{
			eventDispatcher.addEventListener(Event.COMPLETE, fireCommandsInOrder);
			eventDispatcher.dispatchEvent(new Event(Event.COMPLETE));
			const expectedCommands:Array = [SimpleCommand, AnotherCommand];
			assertThat(commandTracker.commandsReceived, array(expectedCommands));
		}
		
		protected function fireCommandsInOrder(e:Event):void
		{
			var command:Object = injector.getInstance(SimpleCommand);
			command.execute();
			command = injector.getInstance(AnotherCommand);
			command.execute();
		}

	}
}
