public override int Run(string[] remainingArguments)
        {
            if (RemainingArgumentsCount != 1) throw new ArgumentException("Please provide the path to the template file to parse.");

            _templateFile = remainingArguments[0];

            if (!File.Exists(_templateFile)) throw new ArgumentException("Please provide a template file that exists.");

            var resolver = CreateMockedAggregateBuildDeltaResolver();

            var result = resolver.CreateChangeManifestFromBuildTypeId("bt1", null, "1.2", "1.4", false, true);

            var renderer = new RazorOutputRenderer(_templateFile);

            Console.WriteLine("Running Render on File Change - Hit ENTER to EXIT.");
            if (!File.Exists(_outputFilename ?? "Output.html")) TryToRender(renderer, result, String.Format("{0} - Rendering on first run...",DateTime.Now));

            var watcher = new FileSystemWatcher
                {
                    Path = Path.GetDirectoryName(Path.GetFullPath(_templateFile)),
                    Filter = Path.GetFileName(_templateFile),
                    EnableRaisingEvents = true,
                    NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.Size | NotifyFilters.CreationTime
                };

            watcher.Changed += (o, e) => TryToRender(renderer, result, "Detected template has changed, running renderer...");

            Console.Read();
            return 0;
        }
 public void Test()
 {
     var result = new RazorOutputRenderer(@".\templates\text.cshtml").Render(CreateChangeManifest());
     Assert.True(true);//Giddyup.
 }