public void GetLastesFileWithSameName_TenFilesWithSameNameExist_FileNameWithNumberNine() { // Arrange string fileName = "somefilename"; File.WriteAllText(Path.Combine(WorkingPath, fileName + ".txt"), ""); for (int i = 1; i < 10; i++) { File.WriteAllText(Path.Combine(WorkingPath, fileName + i + ".txt"), ""); } var fileSizeComparatorMock = new Mock <IFileSizeComparator>(); var fileNameCreatorMock = new Mock <IFileNameCreator>(); var directoryWrapper = new DirectoryWrapper(); var fileAnalyzer = new FileAnalyzer(fileSizeComparatorMock.Object, fileNameCreatorMock.Object, directoryWrapper) { LogPath = WorkingPath, FileName = fileName + ".txt" }; // Act var result = fileAnalyzer.GetLastesFileWithSameName(); // Assert Assert.AreEqual(fileName + "9" + ".txt", Path.GetFileName(result)); }
private void OnFileEvent(object sender, FileEventArgs e) { RemoveInvalidClients(); SendNotificationToAllClients(e); // Analyze each file on a separate Thread var _fileAnalyzerThread = new Thread(new ThreadStart(() => { try { Logger.WriteToLog("Starting a new FileAnalyzerThread."); FileAnalyzer fileAnalyzer = new FileAnalyzer(_cloudAnalyzerURL, e); FileAnalysisStatus analysisStatus = fileAnalyzer.Analyze(); e.AnalysisStatus = analysisStatus; SendNotificationToAllClients(e); } catch (Exception ex) { Logger.WriteToLog("Exception caught in FileAnalyzerThread."); Logger.WriteToLog(ex); } })) { Priority = ThreadPriority.AboveNormal, IsBackground = true }; _fileAnalyzersThreads.Add(_fileAnalyzerThread); _fileAnalyzerThread.Start(); }
public void GetLastesFileWithSameName_ThreeFilesExistWithSameNameButNumberNotOrdered_FileNameWithHigherNumber() { // Arrange string fileName = "somefilename"; int higherNumber = 25; File.WriteAllText(Path.Combine(WorkingPath, fileName + higherNumber + ".txt"), ""); File.WriteAllText(Path.Combine(WorkingPath, fileName + "5" + ".txt"), ""); File.WriteAllText(Path.Combine(WorkingPath, fileName + "20" + ".txt"), ""); var fileSizeComparatorMock = new Mock <IFileSizeComparator>(); var fileNameCreatorMock = new Mock <IFileNameCreator>(); var directoryWrapper = new DirectoryWrapper(); var fileAnalyzer = new FileAnalyzer(fileSizeComparatorMock.Object, fileNameCreatorMock.Object, directoryWrapper) { LogPath = WorkingPath, FileName = fileName + ".txt" }; // Act var result = fileAnalyzer.GetLastesFileWithSameName(); // Assert Assert.AreEqual(fileName + higherNumber + ".txt", Path.GetFileName(result)); }
private IDictionary CreateStore(FileAnalyzer source) { var dictType = typeof(StorageDictionary <,>).MakeGenericType(source.Members.IndexMember.Type, source.RecordType); source.Stream.Position = 0; return((IDictionary)Activator.CreateInstance(dictType, source.Stream, source.Options)); }
private void GetReportButton_Click_1(object sender, EventArgs e) { if (AllRecords == null) { MessageBox.Show(@"File not found."); } else { TempAnalyzer = new FileAnalyzer { Records = Records }; if (IpRadioButton.Checked) { ReportBox.Text = TempAnalyzer.AnalyzeByType("analyzerbyip"); } if (WeightsRadioButton.Checked) { ParametersForm = new Form { Size = new Size(new Point(200, 200)) }; ParametersForm.Show(); ParametersForm.Text = @"Parameters for WeightsAnalyzer"; MethodsRadioButton = new RadioButton { Location = new Point(10, 15), Text = @"Methods" }; ExtensionsRadioButton = new RadioButton { Location = new Point(10, 40), Text = @"Extensions" }; ServerResponseCodesRadioButton = new RadioButton { Location = new Point(10, 65), Text = @"Codes" }; var groupBox = new GroupBox { Text = @"Type ofWeightsReport", Size = new Size(new Point(150, 90)), Location = new Point(10, 10) }; var applyButton3 = new Button { Text = @"Apply", Width = 60, Location = new Point(10, 125) }; var applyHandler = new EventHandler(applyButton3_Click); applyButton3.Click += applyHandler; groupBox.Controls.AddRange(new Control[] { MethodsRadioButton, ExtensionsRadioButton, ServerResponseCodesRadioButton }); ParametersForm.Controls.AddRange(new Control[] { groupBox, applyButton3 }); } if (SumOfBytesRadioButton.Checked) { ReportBox.Text = TempAnalyzer.AnalyzeByType("analyzerbysumofbytes"); } } }
private void GetFileStatistics(TestDocument doc, string filePath) { FileAnalyzer analyzer = FileAnalyzerFactory.Create(filePath); DocumentProperties stats = analyzer.GetProperties(); doc.Pages = stats.Pages; doc.Author = stats.Author; doc.Application = stats.Application; doc.FileSize = stats.FileSize; doc.Orientation = (stats.Orientation ?? Framework.Documents.Orientation.Portrait).ToString(); }
public async Task OnSubscribe_BadPath_DoNothing() { var searcher = new Mock <ISearcher <string, string> >(); var indexer = new Mock <IIndexer <string, string> >(); var tokenizer = new Mock <ITokenizer <string> >(); var analyzer = new FileAnalyzer(tokenizer.Object, searcher.Object, indexer.Object); var tmp = Path.GetRandomFileName(); await analyzer.Subscribe(tmp); indexer.Verify(x => x.Add(It.IsAny <string>(), It.IsAny <IEnumerable <string> >()), Times.Never); }
private void SelectTargetFile(object sender, EventArgs e) { _targetStream?.Dispose(); targetGridView.Rows.Clear(); var fileName = string.Empty; using (var dialog = new OpenFileDialog()) { dialog.Title = "Select the file to use as reference."; dialog.Filter = "DBC files (*.dbc, *.db2)|*.dbc;*.db2"; if (dialog.ShowDialog() == DialogResult.OK) { fileName = dialog.FileName; } } if (string.IsNullOrEmpty(fileName)) { return; } textBox2.Text = fileName; _targetStream = File.OpenRead(fileName); _targetFileAnalyzer = AnalyzerFactory.Create(_targetStream); if (Properties.Settings.Default.LoadTargetDefinition) { var definitionName = Path.GetFileNameWithoutExtension(fileName); if (!_definitionContainer.TryGetValue(definitionName, out var definitionStore) || definitionStore == null) { definitionStore = _definitionContainer[definitionName] = DefinitionFactory.Open(definitionName); } var fileType = definitionStore[_targetFileAnalyzer.LayoutHash]; _targetFileAnalyzer = AnalyzerFactory.Create(fileType, _targetStream); // Add to GUI ShowTypeToGUI(_targetFileAnalyzer.RecordType, targetGridView); } else { var definitionName = Path.GetFileNameWithoutExtension(fileName); if (_definitionContainer.TryGetValue(definitionName, out var definitionStore)) { if (definitionStore.ContainsKey(_targetFileAnalyzer.LayoutHash)) { throw new InvalidOperationException("Structure is already known"); } } } }
private bool AdjustStringMembers(TypeGenerator generator, FileAnalyzer analyzer) { analyzer.Stream.Position = 0; var enumerableType = typeof(StorageEnumerable <>).MakeGenericType(analyzer.RecordType); var enumerable = (IEnumerable)Activator.CreateInstance(enumerableType, analyzer.Stream, analyzer.Options); var isValidString = new bool[analyzer.Members.Members.Count]; for (var itr = 0; itr < isValidString.Length; ++itr) { isValidString[itr] = false; } foreach (var node in enumerable) { var memberIndex = 0; foreach (var exMemberInfo in analyzer.Members.Members) { if (memberIndex == analyzer.Members.IndexColumn) { ++memberIndex; continue; } var memberInfo = (PropertyInfo)exMemberInfo.MemberInfo; var memberValue = memberInfo.GetValue(node); if (exMemberInfo.Type == typeof(string)) { isValidString[memberIndex] = exMemberInfo.MappedTo.BitSize > 16 && memberValue != null; } ++memberIndex; } } for (var itr = 0; itr < isValidString.Length; ++itr) { if (!isValidString[itr]) { generator.GetMember(itr).Type = typeof(int); } } if (isValidString.Any()) { generator.Generate(); } return(isValidString.Any()); }
public static void Main(string[] args) { _analyzer = new FileAnalyzer(new WhitespaceTokenizer()); bool next; do { Console.Write(Promt); var input = Console.ReadLine(); next = ProcessInput(input); } while (next); }