public void Analyze(AnalysisConfig config, AnalysisResult result, Checker checker, SyntaxNode syntaxRoot) { var propertyRaws = syntaxRoot.DescendantNodes().OfType <PropertyDeclarationSyntax>(); if (!propertyRaws.Any()) { return; } foreach (var propertyRaw in propertyRaws) { string propertyName = propertyRaw.Identifier.ToString(); if (pascalCasing.HasDefect(propertyName)) { PreOccurence preOcc = pascalCasing.MakeDefect(config, checker, propertyRaw); result.AddDefectWithPreOccurence(preOcc); } if (DexterUtil.IsPropertyDeclarationBoolean(propertyRaw)) { if (booleanPropertyPrefixing.HasDefect(propertyName)) { PreOccurence preOcc = booleanPropertyPrefixing.MakeDefect(config, checker, propertyRaw); result.AddDefectWithPreOccurence(preOcc); } } } }
public bool HasDefect(object value) { string name = value.ToString(); string[] words = DexterUtil.Split(name); return(!OpenNLPUtil.AreNouns(words)); }
public void GetCurrentMethodNameTest_ReturnsCorrectMethodName() { // Given // When string methodName = DexterUtil.GetCurrentMethodName(); // Then Assert.AreEqual("GetCurrentMethodNameTest_ReturnsCorrectMethodName", methodName); }
internal static void SendResultFileThenDelete(IDexterClient client, string resultFilePrefix) { string resultFolderStr = DexterConfig.Instance.DexterHome + "/" + DexterConfig.RESULT_FOLDER_NAME; IList <FileInfo> resultFiles = DexterUtil.GetSubFileNamesByPrefix(resultFolderStr, resultFilePrefix); foreach (var resultFile in resultFiles) { SendResult(resultFile, client); MmoveResultFileToOldFolder(resultFile); } }
public void SplitTest_PascalCasingWord_ReturnsSplitWord() { // Given string pascalCasingWord = "PascalCasingWord"; // When string[] splitPascalCasingWord = DexterUtil.Split(pascalCasingWord); // Then Assert.IsTrue(splitPascalCasingWord.SequenceEqual(new string[] { "Pascal", "Casing", "Word" })); }
public void RefinePathTest_RefinesFilePath() { // Given string tempPath = @":/DEV//temp\DexterCS-cli_#.#.#_64"; string expectedPath = @":/DEV/temp/DexterCS-cli_#.#.#_64"; // When string result = DexterUtil.RefinePath(tempPath); // Then Assert.AreEqual(expectedPath, result); }
public void GetBase64CharSequenceTest_SimpleString_ReturnsStringContainingOnlyBase64Characters() { // Given string simpleString = "Simple String Content"; // When string base64String = DexterUtil.GetBase64CharSequence(simpleString); // Then base64String = base64String.Trim(); Assert.IsTrue(Regex.IsMatch(base64String, @"^[a-zA-Z0-9\+/]*={0,3}$", RegexOptions.None)); }
public void GetBase64CharSequenceTest_SimpleString_ReturnsStringOfLengthDivisableByFour() { // Given string simpleString = "Simple String Content"; // When string base64String = DexterUtil.GetBase64CharSequence(simpleString); // Then base64String = base64String.Trim(); Assert.IsTrue((base64String.Length % 4 == 0)); }
public void IsDirectoryTest_NonExistantDirectory_ThrowsException() { // Given string directoryPath = DexterCSTestUtil.TestingDirectory + @"\" + DexterCSTestUtil.RandomString(); FileInfo fileInfo = new FileInfo(directoryPath); // When bool result = DexterUtil.IsDirectory(fileInfo); // Then // FileNotFoundException is thrown }
public void SplitTest_CamelAndSnakeCasingWord_ReturnsSplitWord() { // Given string camelAndSnakeCasingWord = "camelAndSnake_Casing_Word"; // When string[] splitCamelAndSnakeCasingWord = DexterUtil.Split(camelAndSnakeCasingWord); // Then foreach (string x in splitCamelAndSnakeCasingWord) { Console.WriteLine("\"" + x + "\""); } Assert.IsTrue(splitCamelAndSnakeCasingWord.SequenceEqual(new string[] { "camel", "And", "Snake", "Casing", "Word" })); }
public void SplitTest_SnakeCasingWord_ReturnsSplitWord() { // Given string snakeCasingWord = "snake_casing_word"; // When string[] splitSnakeCasingWord = DexterUtil.Split(snakeCasingWord); // Then foreach (string x in splitSnakeCasingWord) { Console.WriteLine("\"" + x + "\""); } Assert.IsTrue(splitSnakeCasingWord.SequenceEqual(new string[] { "snake", "casing", "word" })); }
public void IsDirectoryTest_ExistingFile_ReturnsFalse() { try { // Given string filePath = DexterCSTestUtil.TestingDirectory + @"\" + DexterCSTestUtil.RandomString(); File.Create(filePath).Close(); FileInfo fileInfo = new FileInfo(filePath); // When bool result = DexterUtil.IsDirectory(fileInfo); // Then Assert.IsFalse(result); } finally { DexterCSTestUtil.ClearTestingDirectory(); } }
public void IsDirectoryTest_ExistingDirectory_ReturnsTrue() { try { // Given string directoryPath = DexterCSTestUtil.TestingDirectory + @"\" + DexterCSTestUtil.RandomString(); Directory.CreateDirectory(directoryPath); FileInfo fileInfo = new FileInfo(directoryPath); // When bool result = DexterUtil.IsDirectory(fileInfo); // Then Assert.IsTrue(result); } finally { DexterCSTestUtil.ClearTestingDirectory(); } }
private static void SendResult(FileInfo resultFile, IDexterClient client) { if (DexterUtil.IsDirectory(resultFile) || !resultFile.Exists || resultFile.IsReadOnly) { throw new DexterRuntimeException("Cannot access result file (is not a directory or does not exist or is read-only: " + resultFile); } if (!DexterUtil.JSON_EXTENSION.Equals(resultFile.Extension) || !resultFile.ToString().StartsWith("result_", StringComparison.Ordinal)) { return; } try { client.SendAnalysisResult(File.ReadAllText(resultFile.FullName, Encoding.UTF8)).Wait(); } catch (Exception e) { CliLog.Error(e.StackTrace); } }
public async Task StoreSourceCodeCharSequence(long snapshotId, long groupId, string modulePath, string fileName, string sourcecode) { try { HttpResponseMessage response = await httpClient.PostAsJsonAsync(DexterConfig.POST_SNAPSHOT_SOURCECODE, new SourceCodeJsonFormat { SnapshotId = snapshotId, GroupId = groupId, ModulePath = modulePath, FileName = fileName, SourceCode = DexterUtil.GetBase64CharSequence(sourcecode) }); response.EnsureSuccessStatusCode(); } catch (Exception e) { CliLog.Error(e.StackTrace); } }
public void GetSourcecodeFromFileTest_ComplexAndBigFileContent_ReturnsFileContent() { try { // Given string filePath = DexterCSTestUtil.TestingDirectory + @"\" + DexterCSTestUtil.RandomString(); string fileContent = DexterCSTestUtil.RandomString(10000); StreamWriter streamWriter = File.CreateText(filePath); streamWriter.Write(fileContent); streamWriter.Close(); FileInfo fileInfo = new FileInfo(filePath); // When string result = DexterUtil.GetSourcecodeFromFile(filePath); // Then Assert.AreEqual(fileContent, result); } finally { DexterCSTestUtil.ClearTestingDirectory(); } }