public void Class_NotSelectsFolderOnEvent_GivenFile() { //Arrange Checker checker = new Checker(); Validator validator = new Validator(true, checker); FileModifier fileMod = new FileModifier(checker); ISyncFolderPair pair = new MockClasses.SyncedPair(); ISyncedFolder syncedFolder = new FolderSync.FileSystem.Listening.SyncedFolder(pair, validator, fileMod); string tempPath = MethodBase.GetCurrentMethod().Name; string expected = "ModifyFolder"; //Act using (FileStream fs = File.Create(tempPath)) { fs.Close(); } string actual = checker.Message; File.Delete(tempPath); //Assert Assert.AreNotEqual(expected, actual); }
public void TestRemoveInclude4() { string input = "#include <before>\n#include <string>\n#include <test>\n#include <map>"; string result = FileModifier.RemoveIncludeLine(input, "#include <string>"); Assert.IsTrue(result == "#include <before>\n#include <test>\n#include <map>"); }
public void FileModifierTest() { // Test that the filename is "~NA~" if a bad path is passed. FileModifier fmbad = new FileModifier("bogusfile.ini"); Assert.AreEqual("~NA~", fmbad.Filename); string path = Environment.CurrentDirectory + "/MyECFMail.ini"; FileModifier fm = new FileModifier(path); Assert.IsNotNull(fm); // Check that the path was set correctly Assert.AreEqual(path, fm.Filename); // Test that bool property IsCreated is true after successfully creation. Assert.IsTrue(fm.IsCreated); // Assert that you can just reset the path. It must be set in the ctor privately. fm.Filename = "bogus.ini"; Assert.AreNotEqual("bogus.ini", fm.Filename); // Filename should still be as it was in ctor. Assert.AreEqual(path, fm.Filename); // Get the LastAccessTime and LastAccessTimeUtc from the private FileIOManager object. DateTime lat = fm.GetLastWriteTime(); Assert.IsNotNull(lat); DateTime latUtc = fm.GetLastWriteTimeUtc(); Assert.IsNotNull(latUtc); //Debug.WriteLine("lat: " + lat + "\nlatUtc: " + latUtc.ToLocalTime()); }
public ChildrenViewModel(IEnumerable <Guid> children, IObjectsRepository objectsRepository, IFileProvider fileProvider, ITabServiceProvider tabServiceProvider, FileModifier fileModifier) { _children = children; _objectsRepository = objectsRepository; _fileModifier = fileModifier; _fileProvider = fileProvider; _tabServiceProvider = tabServiceProvider; }
public FilesViewModel(Guid objectId, ReadOnlyCollection <IFile> files, IFileProvider fileProvider, FileModifier fileModifier = null) { _objectId = objectId; _files = files; _fileProvider = fileProvider; _fileModifier = fileModifier; Files = new ObservableCollection <IFile>(_files); }
public RelationsViewModel(ReadOnlyCollection <IRelation> relations, IObjectsRepository objectsRepository, IFileProvider fileProvider, ITabServiceProvider tabServiceProvider, FileModifier fileModifier) { _relations = relations; _objectsRepository = objectsRepository; _fileProvider = fileProvider; _tabServiceProvider = tabServiceProvider; _fileModifier = fileModifier; }
/*! * \brief Save camero position to file * * Camera position in camera space is saved in CamLocalPosition.txt. Camera position in WorldOrigin space is saved in CamWorldPosition.txt. */ void Update() { timeLeft -= Time.deltaTime; if (timeLeft <= 0.0f) { Vector3 localCamPos = cam.transform.position; Vector3 worldCamPos = TransformPoint.InverseTransformPointUnscaled(transform, localCamPos); //!< Transform point from Camera space to WorldOrigin space. //save coordinates FileModifier.Save("CamPosition/CamLocalPosition.txt", localCamPos.ToString()); FileModifier.Save("CamPosition/CamWorldPosition.txt", worldCamPos.ToString()); timeLeft = 1.0f; } }
public void Build(string projPath) { foreach (string fileFullName in Directory.GetFiles(Path.Combine(projPath, "Component", "Item", "State")).Where(s => s.EndsWith("State.cs"))) { var fileNameWithoutExtension = Path.GetFileNameWithoutExtension(fileFullName); string file = File.ReadAllText(fileFullName); var tree = CSharpSyntaxTree.ParseText(file); var root = tree.GetRoot() as CompilationUnitSyntax; var cls = root.Members.OfType <NamespaceDeclarationSyntax>().First() .Members.OfType <ClassDeclarationSyntax>().First(); var props = cls.Members.OfType <PropertyDeclarationSyntax>(); List <string> res = new List <string>(); foreach (var prop in props) { res.Add(string.Empty); res.Add($"Task<{prop.Type}> Get{prop.Identifier}();"); res.Add(string.Empty); res.Add($"Task Set{prop.Identifier}({prop.Type} value);"); } res.Add(string.Empty); string target = Path.Combine(projPath, "Component", "Item", "I" + fileNameWithoutExtension.Substring(0, fileNameWithoutExtension.Length - "State".Length) + ".cs"); var targetFile = new FileModifier(target); List <string> lines = targetFile.Read(); try { TryInsertLinesToRegion(lines, res, "StateProperty"); } catch (Exception e) { Console.WriteLine($"In interface of {fileNameWithoutExtension}, {e.Message}"); } if (targetFile.Write(lines)) { Console.WriteLine($"Updated interface of {fileNameWithoutExtension}."); } else { Console.WriteLine($"Skipped update interface of {fileNameWithoutExtension}, file has no change."); } } }
public void MoveLogsSuccessfulMove() { // Arrange GroupFile file = new GroupFile(); ILogger <FileModifier> logger = Substitute.For <ILogger <FileModifier> >(); FileModifier uut = this.FileModifierWithDefaultMocks( logger: logger); // Act uut.Move(file, "destination"); // Assert ICall loggerCall = Assert.Single(logger.ReceivedCalls()); Assert.Equal("Log", loggerCall.GetMethodInfo().Name); Assert.Equal(LogLevel.Information, loggerCall.GetOriginalArguments().First()); }
public void SyncFolder_ChecksValidation_GivenValidator() { //Arrange Checker checker = new Checker(); Validator validator = new Validator(true, checker); FileModifier fileMod = new FileModifier(new Checker()); ISyncFolderPair pair = new MockClasses.SyncedPair(); ISyncedFolder syncedFolder = new FolderSync.FileSystem.Listening.SyncedFolder(pair, validator, fileMod); string expected = "Valid"; //Act syncedFolder.SyncFolder(syncedFolder.LocalPath, UpdateType.Change); string actual = checker.Message; //Assert Assert.AreEqual(expected, actual); }
public void MoveLogsFailedMove() { // Arrange GroupFile file = new GroupFile(); ILogger <FileModifier> logger = Substitute.For <ILogger <FileModifier> >(); IFileOperationsAbstraction ops = Substitute.For <IFileOperationsAbstraction>(); ops.When((x) => x.MoveFile(Arg.Any <string>(), Arg.Any <string>())) .Do((callInfo) => throw new Exception()); FileModifier uut = this.FileModifierWithDefaultMocks( logger: logger, fileOps: ops); // Act uut.Move(file, "destination"); // Assert ICall loggerCall = Assert.Single(logger.ReceivedCalls()); Assert.Equal("Log", loggerCall.GetMethodInfo().Name); Assert.Equal(LogLevel.Error, loggerCall.GetOriginalArguments().First()); }
public void Class_NotSelectsFileOnEvent_GivenFolder() { //Arrange Checker checker = new Checker(); Validator validator = new Validator(true, checker); FileModifier fileMod = new FileModifier(checker); ISyncFolderPair pair = new MockClasses.SyncedPair(); ISyncedFolder syncedFolder = new FolderSync.FileSystem.Listening.SyncedFolder(pair, validator, fileMod); string tempPath = MethodBase.GetCurrentMethod().Name; string expected = "ModifyFile"; //Act DirectoryInfo info = Directory.CreateDirectory(tempPath); Thread.Sleep(1); string actual = checker.Message; Directory.Delete(info.FullName); //Assert Assert.AreNotEqual(expected, actual); }
public void RemoveEntryFromListTest() { FileModifier fm = new FileModifier(Environment.CurrentDirectory + "/Memmy.ini"); Entry e = new Entry("sectionName", "property", "value"); Assert.IsNotNull(e); bool success = fm.StoreEntryForWrite(e); Assert.IsTrue(success); bool contains = fm.ContainsStoredEntry(e); Assert.IsTrue(contains); bool removed = fm.RemoveStoredEntry(e); Assert.IsTrue(removed); bool contains2 = fm.ContainsStoredEntry(e); Assert.IsFalse(contains2); }
public MainViewModel(IDataObject obj, IObjectsRepository objectsRepository, FileModifier fileModifier, IFileProvider fileProvider, ITabServiceProvider tabServiceProvider) { _obj = obj; _fileProvider = fileProvider; _objectsRepository = objectsRepository; _tabServiceProvider = tabServiceProvider; AttributesVm = new AttributesViewModel(_obj); TypeVm = new TypeViewModel(_obj.Type); CreatorVm = new CreatorViewModel(_obj.Creator); FilesVm = new FilesViewModel(obj.Id, _obj.Files, _fileProvider, fileModifier); SnapshotsVm = new SnapshotsViewModel(_obj.Id, _obj.PreviousFileSnapshots, _fileProvider); AccessVm = new AccessViewModel(_obj.Access2); RelationsVm = new RelationsViewModel(obj.Relations, _objectsRepository, _fileProvider, _tabServiceProvider, fileModifier); StateInfoVm = new StateInfoViewModel(obj.ObjectStateInfo); ChildrenVm = new ChildrenViewModel(obj.Children, _objectsRepository, _fileProvider, _tabServiceProvider, fileModifier); PeopleVm = new PeopleViewModel(_objectsRepository.GetPeople()); OrgUnitsVm = new OrgUnitsViewModel(_objectsRepository.GetOrganisationUnits()); TypesVm = new TypesViewModel(_objectsRepository.GetTypes()); UserStatesVm = new UserStatesViewModel(_objectsRepository.GetUserStates()); _objectsRepository.GetOrganisationUnits(); }
public void TestInit() { this.fileModifier = new FileModifier(); }
public void Build(string projPath) { foreach (string fileFullName in Directory.GetFiles(Path.Combine(BuilderDispatcher.ProjectDirs["SimCivil.Orleans.Interfaces"], "Component", "Item", "State")).Where(s => s.EndsWith("State.cs"))) { var fileNameWithoutExtension = Path.GetFileNameWithoutExtension(fileFullName); string file = File.ReadAllText(fileFullName); var tree = CSharpSyntaxTree.ParseText(file); var root = tree.GetRoot() as CompilationUnitSyntax; var cls = root.Members.OfType <NamespaceDeclarationSyntax>().First() .Members.OfType <ClassDeclarationSyntax>().First(); var props = cls.Members.OfType <PropertyDeclarationSyntax>(); List <string> res = new List <string>(); foreach (var prop in props) { res.Add(string.Empty); res.Add($"public Task<{prop.Type}> Get{prop.Identifier}()"); res.Add("{"); res.Add($" return Task.FromResult(State.{prop.Identifier});"); res.Add("}"); res.Add(string.Empty); res.Add($"public Task Set{prop.Identifier}({prop.Type} value)"); res.Add("{"); res.Add($" State.{prop.Identifier} = value;"); res.Add($" return WriteStateAsync();"); res.Add("}"); } res.Add(string.Empty); string target = Path.Combine(projPath, "Component", "Item", fileNameWithoutExtension.Substring(0, fileNameWithoutExtension.Length - "State".Length) + "Grain.cs"); FileModifier targetFile; try { targetFile = new FileModifier(target, false); } catch { Console.WriteLine($"No Grain file of {fileNameWithoutExtension} found, skipped."); continue; } List <string> lines = targetFile.Read(); try { TryInsertLinesToRegion(lines, res, "StateProperty"); } catch (Exception e) { Console.WriteLine($"In {fileNameWithoutExtension}Grain, {e.Message}"); } if (targetFile.Write(lines)) { Console.WriteLine($"Updated grain of {fileNameWithoutExtension}."); } else { Console.WriteLine($"Skipped update grain of {fileNameWithoutExtension}, file has no change."); } } }