public void CompareFilesBadConstructor(IDeltaController ic)
 {
     Assert.Throws <ArgumentNullException>(() =>
     {
         CompareFiles cf = new CompareFiles(ic);
     }
                                           );
 }
        public void CompareFilesGoodConstructor()
        {
            Mock <IDeltaController> deltacontrollerDouble = new Mock <IDeltaController>();

            deltaController = deltacontrollerDouble.Object;

            CompareFiles cf = new CompareFiles(deltaController);

            Assert.AreEqual(cf.dc, deltaController);
        }
        public void DeltaExistMockVerify(string id)
        {
            Mock <IDBManager> databaseMock = new Mock <IDBManager>();

            databaseMock.Setup(database => database.DeltaExists(id)).Verifiable();

            deltaController = new DeltaController(databaseMock.Object);

            deltaController.DeltaExists(id);

            databaseMock.Verify(database => database.DeltaExists(id), Times.Once);
        }
        public void CompareFiles(string content, string databaseContent)
        {
            Mock <IDeltaController> deltacontrollerDouble = new Mock <IDeltaController>();

            deltaController = deltacontrollerDouble.Object;

            CompareFiles cf = new CompareFiles(deltaController);

            Delta d = cf.Compare(content, databaseContent, "nekiFajl");

            Assert.AreEqual(d.Content, "nesto\n druga\n");
            Assert.AreEqual(d.LineRange, "1,2,");
        }
        public void CompareFilesBadException(string content, string databaseContent)
        {
            Mock <IDeltaController> deltacontrollerDouble = new Mock <IDeltaController>();

            deltaController = deltacontrollerDouble.Object;

            CompareFiles cf = new CompareFiles(deltaController);

            Assert.Throws <ArgumentException>(() =>
            {
                cf.Compare(content, databaseContent, "bzvId");
            }
                                              );
        }
        public void UpdateDeltaMockVerify()
        {
            Mock <IDBManager> databaseMock = new Mock <IDBManager>();

            databaseMock.Setup(database => database.UpdateDelta(delta)).Verifiable();

            deltaController = new DeltaController(databaseMock.Object);

            delta.FileId    = "nesto";
            delta.Content   = "nesto2";
            delta.LineRange = "1,";
            deltaController.UpdateDelta(delta);

            databaseMock.Verify(database => database.UpdateDelta(delta), Times.Once);
        }
        public UpdatingDatabase(Files file, FileContent fileContent, IController ic)
        {
            Delta delta = new Delta();

            fileController        = new FileController();
            fileContentController = new FileContentController();

            deltaController = new DeltaController();

            delta = null;

            if (fileController.FileExists(file.Id))
            {
                Console.WriteLine("FILE EXISTS IN DATABASE!!");
                Console.WriteLine("We will now start processing for the changes...");

                string databaseContent = fileContentController.GetContent(file.Id);

                if (databaseContent != fileContent.Content)
                {
                    CompareFiles cf = new CompareFiles(deltaController);
                    delta = cf.Compare(fileContent.Content, databaseContent, file.Id);
                }

                if (delta != null)
                {
                    UpdateFileContent(fileContentController, fileContent, file.Id);
                    SendDeltaInformation sd = new SendDeltaInformation(ic);
                    sd.Send(delta, databaseContent);
                }
                else
                {
                    Console.WriteLine("-------------------------------");
                    Console.WriteLine("No changes! File contents are completely the same");
                    Console.WriteLine("-------------------------------");
                }
            }
            else
            {
                Console.WriteLine("File doesn't Exists in database. Now we are going to add it");
                AddToDatabase(file, fileContent, fileController, fileContentController);
            }
        }
Exemple #8
0
        public Delta Compare(string content, string databaseContent, string fileId)
        {
            if (!content.Contains("\r\n") || !databaseContent.Contains("\r\n"))
            {
                throw new ArgumentException("Must have \r\n so it could be parsed");
            }


            string[] newText  = content.Split(new string[] { "\r\n" }, StringSplitOptions.None);
            string[] previous = databaseContent.Split(new string[] { "\r\n" }, StringSplitOptions.None);

            int lengthOfNewText      = newText.Length;
            int lengthOfPreviousText = previous.Length;

            if (lengthOfNewText < lengthOfPreviousText)
            {
                lengthOfNewText = lengthOfPreviousText;
            }

            string deltaContent    = "";
            string previousContent = "";
            bool   change          = false;
            int    row             = 0;

            dc = new DeltaController();

            Delta d = new Delta();

            for (int i = 0; i < lengthOfNewText; i++)
            {
                if (newText.Length > i)
                {
                    deltaContent = newText[i];
                }

                if (previous.Length > i)
                {
                    previousContent = previous[i];
                }

                if (deltaContent != previousContent)
                {
                    row             = i;
                    d.LineRange    += ++row + ",";
                    d.Content      += deltaContent + "\n";
                    change          = true;
                    deltaContent    = "";
                    previousContent = "";
                }
            }


            if (change)
            {
                d.FileId = fileId;
                if (dc.DeltaExists(d.FileId))
                {
                    dc.UpdateDelta(d);
                }
                else
                {
                    dc.Add(d);
                }
            }
            else
            {
                d = null;
            }

            return(d);
        }
Exemple #9
0
 public CompareFiles(IDeltaController dc)
 {
     this.dc = dc ?? throw new ArgumentNullException("IDeltaController can't be null");
 }