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);
        }
Example #2
0
        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>");
        }
Example #3
0
        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;
 }
Example #5
0
 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;
 }
Example #7
0
    /*!
     * \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;
        }
    }
Example #8
0
        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.");
                }
            }
        }
Example #9
0
        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());
        }
Example #10
0
        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);
        }
Example #11
0
        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());
        }
Example #12
0
        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);
        }
Example #13
0
        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);
        }
Example #14
0
        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();
        }
Example #15
0
 public void TestInit()
 {
     this.fileModifier = new FileModifier();
 }
Example #16
0
        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.");
                }
            }
        }