public void YamlSyncToDbTest() { string details = 10.RandomLetters(); string updatedDetails = 5.RandomLetters(); string testName = 8.RandomLetters(); Parent parent = new Parent { Details = details, Name = testName }; YamlRepository repo = GetYamlRepo(nameof(YamlSyncToDbTest)); parent = repo.Save(parent); Parent loaded = repo.LoadYaml <Parent>(testName).ToList().FirstOrDefault(); Expect.IsNotNull(loaded); loaded.Details = updatedDetails; repo.YamlDataDirectory.Save <Parent>(loaded); FileInfo file = repo.YamlDataDirectory.GetYamlFile(typeof(Parent), testName); YamlDataFile data = new YamlDataFile(typeof(Parent), file); Parent fromFile = data.As <Parent>(); Expect.AreEqual(testName, fromFile.Name); Expect.AreEqual(updatedDetails, fromFile.Details); Parent fromDb = repo.DaoRepository.Retrieve <Parent>(fromFile.Id); Expect.AreEqual(details, fromDb.Details); repo.Synchronize(); fromDb = repo.DaoRepository.Retrieve <Parent>(fromFile.Id); Expect.AreEqual(testName, fromDb.Name); Expect.AreEqual(updatedDetails, fromDb.Details); }
public void WillThrow() { ConsoleLogger logger = new ConsoleLogger(); logger.StartLoggingThread(); YamlDataFile data = new YamlDataFile(typeof(Data), _arrayData, logger); Expect.Throws(() => { Data d = (Data)data.Data; }, "Referencing Data didn't throw"); }
public void WillNormalize() { ConsoleLogger logger = new ConsoleLogger(); logger.StartLoggingThread(); YamlDataFile data = new YamlDataFile(typeof(Data), _normalizeData, logger); data.ArrayBehavior = ArrayBehavior.Normalize; DirectoryInfo dir = data.File.Directory; DeleteFile(Path.Combine(dir.FullName, "Item One.yaml")); DeleteFile(Path.Combine(dir.FullName, "Item Two.yaml")); DeleteFile(Path.Combine(dir.FullName, "Item Three.yaml")); Data d = (Data)data.Data; Expect.IsTrue(File.Exists(Path.Combine(dir.FullName, "Item One.yaml"))); Expect.IsTrue(File.Exists(Path.Combine(dir.FullName, "Item Two.yaml"))); Expect.IsTrue(File.Exists(Path.Combine(dir.FullName, "Item Three.yaml"))); }
public void WillWarn() { ConsoleLogger logger = new ConsoleLogger(); logger.StartLoggingThread(); bool?fired = false; logger.WarnEventOccurred += (o, a) => { fired = true; }; YamlDataFile data = new YamlDataFile(typeof(Data), _arrayData, logger); data.ArrayBehavior = ArrayBehavior.Warn; Expect.IsFalse(fired.Value); Data d = (Data)data.Data; Expect.IsTrue(fired.Value); }