public void TestAdd() { var save = KspData.LoadKspFile(TestHelpers.BaseDataPath() + @"saves\KspPersistentSfswMods\persistent.sfs", Data.ProcRegistry.Create <SaveFile>()); Data.Saves.Add(save, "Test-Save-001"); Data.Saves["Test-Save-001"].Save(); var savedSave01 = KspData.LoadKspFile <SaveFile>(TestHelpers.BaseDataTempPath() + @"saves\Test-Save-001\persistent.sfs"); Assert.IsNotNull(savedSave01); Assert.AreEqual(save.Game.FlightState.Vessels.Count, savedSave01.Game.FlightState.Vessels.Count); Data.Saves["Test-Save-002"] = save; save.Save(); var savedSave02 = KspData.LoadKspFile <SaveFile>(TestHelpers.BaseDataTempPath() + @"saves\Test-Save-002\persistent.sfs"); Assert.IsNotNull(savedSave02); Assert.AreEqual(save.Game.FlightState.Vessels.Count, savedSave02.Game.FlightState.Vessels.Count); Data.Saves.Add((object)save, "Test-Save-003"); Data.Saves["Test-Save-003"].Save(); var savedSave03 = KspData.LoadKspFile <SaveFile>(TestHelpers.BaseDataTempPath() + @"saves\Test-Save-003\persistent.sfs"); Assert.IsNotNull(savedSave03); Assert.AreEqual(save.Game.FlightState.Vessels.Count, savedSave03.Game.FlightState.Vessels.Count); }
public void CloneTest() { var save = KspData.LoadKspFile(TestHelpers.BaseDataTempPath() + @"saves\KspPersistentSfswMods\persistent.sfs", ProcessorRegistry.Create().Create <SaveFile>()); var clone = save.Clone <SaveFile>(); Assert.AreEqual(save.Game.Description, clone.Game.Description); }
private bool AllFilesMatch(DirectoryInfo dirInfo) { // Rigged to process all files possible before returing the result. var allFilesMatch = true; #if NET45 || NET40 foreach (var dir in dirInfo.EnumerateDirectories()) { if (!AllFilesMatch(dir)) { allFilesMatch = false; } } var files = new List <string>(); foreach (var file in dirInfo.EnumerateFiles()) { files.Add(file.FullName); } #elif NET35 || MONO210 foreach (var dir in dirInfo.GetDirectories()) { if (!AllFilesMatch(dir)) { allFilesMatch = false; } } var files = new List <string>(); foreach (var file in dirInfo.GetFiles()) { files.Add(file.FullName); } #endif foreach (var file in files) { try { var processedName = file + ".kspd"; var jobj = KspData.LoadKspFile <JObject>(file); jobj.ToString(Formatting.Indented, null).WriteToFile(file + ".json"); KspData.SaveFile(processedName, jobj); if (!FilesAreEqual(file, processedName)) { allFilesMatch = false; } } catch (Exception ex) { Assert.Fail(ex.Message, ex); } } return(allFilesMatch); }
public void CraftFileLoadTest() { var craft = KspData.LoadKspFile <CraftFile>(TestHelpers.BaseDataPath() + @"Ships\VAB\MultiSatMk1.craft"); // Just a simple test to see if we can load a game Assert.IsNotNull(craft); Assert.IsNotNull(craft.DisplayName); }
/// <summary> /// Gets all objects managed by the repository /// </summary> /// <returns>object list</returns> public IList <T> Get() { var files = GetFiles(); return(files != null ? files.FileNames.Cast <string>().Select(p => KspData.LoadKspFile(p, registry.Create <T>())).Where(obj => obj != null).ToList() : null); }
public void ConfigFileLoadTest() { var config = KspData.LoadKspFile <ConfigFile>(TestHelpers.BaseDataPath() + @"settings.cfg"); // Just a simple test to see if we can load a game Assert.IsNotNull(config); Assert.IsNotNull(config.DisplayName); }
public void PartFileLoadTest() { var part = KspData.LoadKspFile <PartFile>(TestHelpers.BaseDataPath() + @"Parts\mumech_MechJeb\part.cfg"); // Just a simple test to see if we can load a game Assert.IsNotNull(part); Assert.IsNotNull(part.DisplayName); }
public void TestUpdate() { var freshgame = KspData.LoadKspFile <SaveFile>(TestHelpers.BaseDataTempPath() + @"saves\freshgame\persistent.sfs"); Data.Saves["KspPersistentSfswMods"] = freshgame; Data.Saves["KspPersistentSfswMods"].Save(); var newFreshGame = KspData.LoadKspFile <SaveFile>(TestHelpers.BaseDataTempPath() + @"saves\KspPersistentSfswMods\persistent.sfs"); Assert.AreEqual(freshgame.Game.Title, newFreshGame.Game.Title); Assert.AreEqual(freshgame.Game.FlightState, newFreshGame.Game.FlightState); }
public void DataTypeConvertTest() { var data = (new StreamReader(File.Open(TestHelpers.BaseDataPath() + @"Ships\VAB\MultiSatMk1.craft", FileMode.Open))).ReadToEnd(); var convertedCraft = KspData.Convert(data, ProcessorRegistry.Create().Create <CraftFile>()); // Bit ugly to test this use case, would never be this way in the real world as this is what happens internally var convertedCraft2 = KspData.Convert <CraftFile>(data); var craft = KspData.LoadKspFile <CraftFile>(TestHelpers.BaseDataPath() + @"Ships\VAB\MultiSatMk1.craft"); Assert.NotNull(convertedCraft); Assert.NotNull(convertedCraft2); Assert.AreEqual(craft.Parts.Count, convertedCraft.Parts.Count); Assert.AreEqual(craft.Parts.Count, convertedCraft2.Parts.Count); }
public void SaveFileLoadTest() { var save = KspData.LoadKspFile <SaveFile>(TestHelpers.BaseDataPath() + @"saves\KspPersistentSfswMods\persistent.sfs"); // Just a simple test to see if we can load a game Assert.IsNotNull(save); Assert.IsNotNull(save.DisplayName); Assert.IsNotNull(save.Game); Assert.IsNotNull(save.Game.FlightState); Assert.IsNotNull(save.Game.FlightState.Vessels); Assert.AreEqual(180, save.Game.FlightState.Vessels.Count); }
/// <summary> /// Gets an object with a particular Id /// </summary> /// <param name="id">object id to retrieve</param> /// <returns>de-serialized object</returns> public T Get(string id) { if (!NameExists(id)) { return(null); } T obj = KspData.LoadKspFile <T>(GetFileInfo(id).FullName, registry.Create <T>()); (obj as StorableObject).Uri = GetFileInfo(id).DirectoryName; return(obj); }
public void TestSaveAll() { var description = "HELLO WORLD!"; Data.Saves["KspPersistentSfswMods"].Game.Description = description; Data.Saves["freshgame"].Game.Description = description; Data.Saves.Save(); var save1 = KspData.LoadKspFile <SaveFile>(TestHelpers.BaseDataTempPath() + @"saves\KspPersistentSfswMods\persistent.sfs"); var save2 = KspData.LoadKspFile <SaveFile>(TestHelpers.BaseDataTempPath() + @"saves\freshgame\persistent.sfs"); Assert.AreEqual(description, save1.Game.Description); Assert.AreEqual(description, save2.Game.Description); }
public void SingleFileSaveTest() { var save = KspData.LoadKspFile(TestHelpers.BaseDataTempPath() + @"saves\KspPersistentSfswMods\persistent.sfs", ProcessorRegistry.Create().Create <SaveFile>()); save.Game.Description = "HELLO WORLD!"; save.Save(); var changed = KspData.LoadKspFile(TestHelpers.BaseDataTempPath() + @"saves\KspPersistentSfswMods\persistent.sfs", ProcessorRegistry.Create().Create <SaveFile>()); Assert.AreEqual(save.Game.Description, changed.Game.Description); changed.Save(TestHelpers.BaseDataTempPath() + @"saves\KspPersistentSfswMods\newname.sfs"); var newsave = KspData.LoadKspFile(TestHelpers.BaseDataTempPath() + @"saves\KspPersistentSfswMods\newname.sfs", ProcessorRegistry.Create().Create <SaveFile>()); Assert.AreEqual(save.Game.Description, newsave.Game.Description); }