public void GlobalStore_WritingSystemsToIgnore()
{
string storePath1 = PrepareTempStore("Store1");
string storePath2 = PrepareTempStore("Store2");
string globalStorePath = PrepareTempStore("GlobalStore");
var globalStore = new GlobalFileWritingSystemStore(globalStorePath);
var wsManager = new PalasoWritingSystemManager(
new LocalFileWritingSystemStore(storePath1, globalStore), globalStore);
var ws = wsManager.Set("en-US");
ws.SpellCheckingId = "id1";
wsManager.Save();
Thread.Sleep(1000);
wsManager = new PalasoWritingSystemManager(
new LocalFileWritingSystemStore(storePath2, globalStore), globalStore);
ws = wsManager.Set("en-US");
ws.SpellCheckingId = "id2";
wsManager.Save();
wsManager = new PalasoWritingSystemManager(
new LocalFileWritingSystemStore(storePath1, globalStore), globalStore);
IEnumerable <IWritingSystem> sharedWss = wsManager.CheckForNewerGlobalWritingSystems();
Assert.AreEqual(1, sharedWss.Count());
Assert.AreEqual("en-US", sharedWss.First().Id);
ws = wsManager.Get("en-US");
Assert.AreEqual("id1", ws.SpellCheckingId);
wsManager.Save();
wsManager = new PalasoWritingSystemManager(
new LocalFileWritingSystemStore(storePath1, globalStore), globalStore);
sharedWss = wsManager.CheckForNewerGlobalWritingSystems();
Assert.AreEqual(0, sharedWss.Count());
wsManager.Save();
Thread.Sleep(1000);
wsManager = new PalasoWritingSystemManager(
new LocalFileWritingSystemStore(storePath2, globalStore), globalStore);
ws = wsManager.Get("en-US");
ws.LegacyMapping = "encoding converter";
wsManager.Save();
wsManager = new PalasoWritingSystemManager(
new LocalFileWritingSystemStore(storePath1, globalStore), globalStore);
ws = wsManager.Get("en-US");
Assert.IsNullOrEmpty(ws.LegacyMapping);
sharedWss = wsManager.CheckForNewerGlobalWritingSystems();
Assert.AreEqual(1, sharedWss.Count());
IWritingSystem sharedWs = sharedWss.First();
Assert.AreEqual("en-US", sharedWs.Id);
wsManager.Replace(sharedWs);
wsManager.Save();
ws = wsManager.Get("en-US");
Assert.AreEqual("encoding converter", ws.LegacyMapping);
}