public FileSystem(IRebalanceInfoFormatter formatter, string outputDirectory) { _formatter = formatter ?? throw new ArgumentNullException(nameof(formatter)); _outputDirectory = string.IsNullOrEmpty(outputDirectory) ? outputDirectory : Environment.ExpandEnvironmentVariables(outputDirectory); }
private static void Execute(IList <string> files, IRebalanceInfoFormatter formatter, IFileSystem fileSystem) { IDictionary <string, List <ItemInfo> > weaponNames = AlliedModsWiki.GetItemInfos(); var itemInfoSource = new ItemInfoSource(weaponNames); var classNameSource = new ClassNameSource(); var transformations = new Dictionary <string, ITransformation <Node> > { { "tf2rebalance_attributes", new Tf2RebalanceTransformation(itemInfoSource, classNameSource) }, { "Custom Attributes", new CustomAttributesTransformation(itemInfoSource, classNameSource) }, }; IConverter converter = new CompositeTf2FormatConverter(new ValveFormatParser(), transformations); foreach (string filename in files) { CreateSummary(filename, converter, formatter, fileSystem); } Log.Information("finished creating summaries for {ConfigFileCount} configs", files.Count); }
public void TestInitialize() { if (Directory.Exists("input")) { Directory.Delete("input", true); } if (Directory.Exists("Test")) { Directory.Delete("Test", true); } var formatter = new Mock <IRebalanceInfoFormatter>(); formatter.SetupGet(f => f.FileExtension).Returns("test"); _formatter = formatter.Object; }
private int OnExecuteAsync(CommandLineApplication app) { if (Files == null || Files.Count == 0) { app.ShowHelp(); Console.WriteLine("press enter to exit"); Console.ReadLine(); return(0); } IRebalanceInfoFormatter formatter = CreateFormatter(FormatterOption); IFileSystem fileSystem = CreateFileSystem(formatter, OutputDirectory); Execute(Files, formatter, fileSystem); return(0); }
private static void CreateSummary(string filename, IConverter converter, IRebalanceInfoFormatter formatter, IFileSystem fileSystem) { Log.Information("reading config from {ConfigFileName}", filename); string input = fileSystem.Read(filename); IEnumerable <RebalanceInfo> rebalanceInfos = converter.Execute(input); string output = formatter.Create(rebalanceInfos); if (string.IsNullOrEmpty(output)) { Log.Error("input could not be read skipping summary"); return; } fileSystem.WriteToOutput(filename, output); }
private IFileSystem CreateFileSystem(IRebalanceInfoFormatter formatter, string outputDirectory) { return(new FileSystem(formatter, outputDirectory)); }