public void GetLogFilesForNewCharacter() { var newCharacterName = new CharacterName("Figurant"); Expect(subscriber.ReceivedMessages.Count(m => m.CharacterName == newCharacterName), EqualTo(0)); CreateNewCharacterDirWithALog("Figurant", "_Event.2012-07.txt"); IWurmCharacterLogFiles manager = null; WaitUntilTrue(() => { try { manager = System.GetForCharacter(newCharacterName); return(true); } catch (Exception exception) { Trace.WriteLine(exception.Message); return(false); } }); subscriber.WaitMessages(1, m => m.CharacterName == newCharacterName); var results = manager.GetLogFiles(DateTime.MinValue, DateTime.MaxValue, LogType.Event); Expect(results.Count(), EqualTo(1)); }
void RebuildAllMonitors() { var ir = initialRebuild; var timeNow = Time.Get.LocalNow; RemoveOldMonitors(timeNow); var files = wurmCharacterLogFiles.GetLogFiles(timeNow, timeNow); foreach (var file in files) { if (ShouldFileBeMonitored(file, timeNow)) { if (!monitors.ContainsKey(file.FullPath)) { SingleFileMonitor monitor; // when initializing engine, we ignore events already in files // when adding engines for new files, we want to always read from start of file if (ir) { monitor = singleFileMonitorFactory.Create(file); initialRebuild = false; } else { monitor = singleFileMonitorFactory.Create(file, 0L); } monitors.Add(file.FullPath, monitor); } } } }
public void CreatesManagerForNewCharacter() { CreateNewCharacterEmptyDir("Newguy"); // there is a delay before new directory gets observed IWurmCharacterLogFiles manager = null; WaitUntilTrue(() => { try { manager = System.GetForCharacter(new CharacterName("Newguy")); return(true); } catch (Exception exception) { Trace.WriteLine(exception.Message); return(false); } }); var files = manager.GetLogFiles(DateTime.MinValue, DateTime.MaxValue); Expect(files.Count(), EqualTo(0)); }