SIL.Utils.MockFileOS.LockFile C# (CSharp) Method

LockFile() public method

Simulates getting an exclusive (write) file lock on the file having the given filename.
public LockFile ( string filename ) : void
filename string The filename (must have been added previously).
return void
		public void LockFile(string filename)
		{
			FileUtils.AssertValidFilePath(filename);
			m_existingFiles[filename].Lock = FileLockType.Write;
		}

Usage Example

		public void AddFileAndCheckAccessibility_Locked()
		{
			IScrImportSet importSettings = Cache.ServiceLocator.GetInstance<IScrImportSetFactory>().Create();
			Cache.LanguageProject.TranslatedScriptureOA.ImportSettingsOC.Add(importSettings);
			importSettings.ImportTypeEnum = TypeOfImport.Other;

			var fileOs = new MockFileOS();
			try
			{
				FileUtils.Manager.SetFileAdapter(fileOs);
				string filename = fileOs.MakeSfFile("EPH", @"\c 1", @"\v 1");
				fileOs.LockFile(filename);

				IScrImportFileInfo info = importSettings.AddFile(filename, ImportDomain.Main, null, null);
				Assert.AreEqual(Encoding.ASCII, info.FileEncoding);
				Assert.AreEqual(1, importSettings.GetImportFiles(ImportDomain.Main).Count);
				StringCollection notFound;
				Assert.IsFalse(importSettings.ImportProjectIsAccessible(out notFound));
				Assert.AreEqual(1, notFound.Count);
				Assert.AreEqual(filename, notFound[0]);
			}
			finally
			{
				FileUtils.Manager.Reset();
			}
		}