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); } }
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); }
public CompareFiles(IDeltaController dc) { this.dc = dc ?? throw new ArgumentNullException("IDeltaController can't be null"); }