static void Main() { var fs = new FileSystemHelper(); var commandLineProgram = new CommandLineProgram(); var processRunner = new ProcessRunner(commandLineProgram); var outputWriter = new OutputWriter(); var nodeModulesHelper = new NodeModulesHelper(processRunner, fs); var systemDependencyChecker = new SystemDependencyChecker(outputWriter); var systemDependencies = new ISystemDependency[] { new NodeJsSystemDependency(processRunner), new KarmaSystemDependency(processRunner, nodeModulesHelper), new KarmaSpecReporterSystemDependency(nodeModulesHelper, fs), new KarmaJunitReporterSystemDependency(nodeModulesHelper, fs), /*Example of checking express*/ /*new NodeModuleSystemDependency("express", nodeModulesHelper, fs)*/ }; foreach (ISystemDependency systemDependency in systemDependencies) { systemDependencyChecker.CheckSystemDependency(systemDependency); if (systemDependency is ISystemDependencyWithVersion) { systemDependencyChecker.CheckSystemDependencyVersion(systemDependency as ISystemDependencyWithVersion); } } Console.WriteLine("Press any key to continue..."); Console.Read(); }
public void CheckSystemDependency(ISystemDependency systemDependency) { if (systemDependency.IsDependencySatisfied()) { _outputWriter.WriteMessage(string.Format("{0} is installed.", systemDependency.Name)); } else { _outputWriter.WriteError(string.Format("{0} is not installed.", systemDependency.Name)); } }