/// <summary> /// Convert the <see cref="ModDefinitionFile"/>s into a single file of all mods that can be configured for load. /// </summary> /// <param name="modInfoFilePath">Full path to write the mod info file to.</param> /// <param name="modFiles">The <see cref="ModDefinitionFile"/>s to write out.</param> public static void WriteModInfoFile(string modInfoFilePath, IEnumerable <ModDefinitionFile> modFiles) { var list = modFiles.Select(x => new ModInfo() { Name = string.Join("_", x.Name.Split(Path.GetInvalidFileNameChars())), NameRaw = x.Name, ArchiveFilePath = x.ArchiveFilePath, ModDirectoryPath = x.ModDirectoryPath }).ToList(); list.Sort(IComparerExtensions.Create <ModInfo>(x => x.Name)); JsonSerializer serializer = new JsonSerializer { Formatting = Formatting.Indented }; using (JsonWriter writer = new JsonTextWriter(new StreamWriter(modInfoFilePath))) { serializer.Serialize(writer, list); } }
public void InvertFailsWithNullThis() { Assert.Throws <ArgumentNullException>(() => IComparerExtensions.Invert <object>(null)); }