public void AndroidStudioProblem_BuilderWithProblemClassIsNotEmpty() { var uut = new AndroidStudioProblem.Builder(); uut.ProblemClass = "Foo"; Assert.IsFalse(uut.IsEmpty); }
public void AndroidStudioProblem_BuilderWithLineIsNotEmpty() { var uut = new AndroidStudioProblem.Builder(); uut.Line = 42; Assert.IsFalse(uut.IsEmpty); }
public void AndroidStudioProblem_BuilderWithSeverityIsNotEmpty() { var uut = new AndroidStudioProblem.Builder(); uut.Severity = "Sev"; Assert.IsFalse(uut.IsEmpty); }
public void AndroidStudioProblem_BuilderWithEntryPointTypeIsNotEmpty() { var uut = new AndroidStudioProblem.Builder(); uut.EntryPointType = "TYPE"; Assert.IsFalse(uut.IsEmpty); }
public void AndroidStudioProblem_BuilderWithAttributeKeyIsNotEmpty() { var uut = new AndroidStudioProblem.Builder(); uut.AttributeKey = "Key"; Assert.IsFalse(uut.IsEmpty); }
public void AndroidStudioProblem_RejectsLinePresentButNotFile() { AndroidStudioProblem.Builder builder = GetDefaultProblemBuilder(); builder.File = null; builder.Line = 42; Assert.Throws <ArgumentException>(() => new AndroidStudioProblem(builder)); }
public void AndroidStudioConverter_ConvertSarifResult_RecordsModuleAsTopLevelIfPresent() { AndroidStudioProblem.Builder builder = AndroidStudioProblemTests.GetDefaultProblemBuilder(); builder.File = null; builder.Module = "my_fancy_binary"; builder.EntryPointType = "method"; builder.EntryPointName = "my_method"; var expectedLocation = new Location { LogicalLocation = new LogicalLocation { FullyQualifiedName = "my_fancy_binary\\my_method", Index = 1 } }; var expectedLogicalLocations = new List <LogicalLocation> { new LogicalLocation { ParentIndex = -1, FullyQualifiedName = "my_fancy_binary", Kind = LogicalLocationKind.Module }, new LogicalLocation { ParentIndex = 0, Name = "my_method", FullyQualifiedName = @"my_fancy_binary\my_method", Kind = LogicalLocationKind.Member } }; var converter = new AndroidStudioConverter(); Result result = converter.ConvertProblemToSarifResult(new AndroidStudioProblem(builder)); result.Locations[0].ValueEquals(expectedLocation).Should().BeTrue(); ValidateLogicalLocations(expectedLogicalLocations, converter.LogicalLocations); }
public void AndroidStudioConverter_ConvertSarifResult_GeneratesLocationWithOnlyPackage() { AndroidStudioProblem.Builder builder = AndroidStudioProblemTests.GetDefaultProblemBuilder(); builder.File = null; builder.Package = "FancyPackageName"; builder.Module = null; builder.EntryPointName = null; var expectedLocation = new Location { LogicalLocation = new LogicalLocation { FullyQualifiedName = "FancyPackageName", Index = 0 } }; var expectedLogicalLocations = new List <LogicalLocation> { new LogicalLocation { Kind = LogicalLocationKind.Package, FullyQualifiedName = "FancyPackageName" } }; var converter = new AndroidStudioConverter(); Result result = converter.ConvertProblemToSarifResult(new AndroidStudioProblem(builder)); result.Locations[0].ValueEquals(expectedLocation).Should().BeTrue(); ValidateLogicalLocations(expectedLogicalLocations, converter.LogicalLocations); }
public void AndroidStudioProblem_BuilderWithPackageIsNotEmpty() { var uut = new AndroidStudioProblem.Builder(); uut.Package = "package"; Assert.IsFalse(uut.IsEmpty); }
public void AndroidStudioProblem_BuilderWithModuleIsNotEmpty() { var uut = new AndroidStudioProblem.Builder(); uut.Module = "mod"; Assert.IsFalse(uut.IsEmpty); }
public void AndroidStudioProblem_BuilderWithDescritionIsNotEmpty() { var uut = new AndroidStudioProblem.Builder(); uut.Description = "You broke things"; Assert.IsFalse(uut.IsEmpty); }
public void AndroidStudioProblem_BuilderWithEntryPointNameIsNotEmpty() { var uut = new AndroidStudioProblem.Builder(); uut.EntryPointName = "Some name"; Assert.IsFalse(uut.IsEmpty); }
public void AndroidStudioProblem_RejectsLinePresentButNotFile() { AndroidStudioProblem.Builder builder = GetDefaultProblemBuilder(); builder.File = null; builder.Line = 42; new AndroidStudioProblem(builder); }
public void AndroidStudioProblem_RequiresEntryPointTypeIfEntryPointNameSet() { AndroidStudioProblem.Builder builder = GetDefaultProblemBuilder(); builder.EntryPointType = "Class"; // Error: No location info, should throw Assert.Throws <ArgumentException>(() => new AndroidStudioProblem(builder)); }
public void AndroidStudioProblem_RequiresEntryPointNameIfEntryPointTypeSet() { AndroidStudioProblem.Builder builder = GetDefaultProblemBuilder(); builder.EntryPointName = "Frobinate.java"; // Error: No location info, should throw new AndroidStudioProblem(builder); }
public void AndroidStudioConverter_ConvertSarifResult_PersistsSourceLineInfo() { AndroidStudioProblem.Builder builder = AndroidStudioProblemTests.GetDefaultProblemBuilder(); builder.Line = 42; LocationInfo locationInfo = GetLocationInfoForBuilder(builder); locationInfo.Location.PhysicalLocation.Region.StartLine.Should().Be(42); }
public void AndroidStudioConverter_ConvertSarifResult_RemovesProjectDirPrefix() { AndroidStudioProblem.Builder builder = AndroidStudioProblemTests.GetDefaultProblemBuilder(); builder.File = "file://$PROJECT_DIR$/mydir/myfile.xml"; LocationInfo locationInfo = GetLocationInfoForBuilder(builder); locationInfo.Location.PhysicalLocation.ArtifactLocation.Uri.ToString().Should().Be("mydir/myfile.xml"); }
public void AndroidStudioConverter_GetShortDescription_UsesDescriptionIfPresent() { AndroidStudioProblem.Builder builder = AndroidStudioProblemTests.GetDefaultProblemBuilder(); builder.Description = "Cute fluffy kittens"; var uut = new AndroidStudioProblem(builder); string result = AndroidStudioConverter.GetShortDescriptionForProblem(uut); Assert.Equal("Cute fluffy kittens", result); }
public void AndroidStudioProblem_BuilderWithFileIsNotEmpty() { var uut = new AndroidStudioProblem.Builder { File = "file" }; Assert.False(uut.IsEmpty); }
public void AndroidStudioConverter_ConvertToSarifResult_AttributeKeyIsPersistedInProperties() { AndroidStudioProblem.Builder builder = AndroidStudioProblemTests.GetDefaultProblemBuilder(); builder.AttributeKey = "key"; var uut = new AndroidStudioProblem(builder); Result result = new AndroidStudioConverter().ConvertProblemToSarifResult(uut); result.PropertyNames.Count.Should().Be(1); result.GetProperty("attributeKey").Should().Be("key"); }
public void AndroidStudioConverter_ConvertSarifResult_RecordsTopLevelFileAsSourceFile() { AndroidStudioProblem.Builder builder = AndroidStudioProblemTests.GetDefaultProblemBuilder(); builder.File = "expected_file.java"; builder.EntryPointType = "file"; builder.EntryPointName = "bad_file.java"; Location loc = GetLocationInfoForBuilder(builder).Location; loc.PhysicalLocation.ArtifactLocation.Uri.ToString().Should().Be("expected_file.java"); }
public void AndroidStudioConverter_ConvertSarifResult_DoesNotRecordTopLevelEntryPointAsSourceFile() { AndroidStudioProblem.Builder builder = AndroidStudioProblemTests.GetDefaultProblemBuilder(); builder.File = null; builder.EntryPointType = "file"; builder.EntryPointName = "expected_file.java"; Location loc = GetLocationInfoForBuilder(builder).Location; loc.PhysicalLocation.Should().BeNull(); }
public void AndroidStudioConverter_ConvertToSarifResult_EmptyHintsDoNotAffectDescription() { AndroidStudioProblem.Builder builder = AndroidStudioProblemTests.GetDefaultProblemBuilder(); builder.Description = "hungry EVIL zombies"; var uut = new AndroidStudioProblem(builder); Result result = new AndroidStudioConverter().ConvertProblemToSarifResult(uut); Assert.Equal("hungry EVIL zombies", result.Message.Text); }
public void AndroidStudioProblem_AcceptsPackageAsLocationInformation() { AndroidStudioProblem.Builder builder = GetDefaultProblemBuilder(); builder.File = null; builder.Module = null; builder.Package = "Pack"; builder.EntryPointName = null; // Assert does not throw: new AndroidStudioProblem(builder); }
public void AndroidStudioConverter_ConvertToSarifResult_SeverityIsPersistedInProperties() { AndroidStudioProblem.Builder builder = AndroidStudioProblemTests.GetDefaultProblemBuilder(); builder.Severity = "warning"; var uut = new AndroidStudioProblem(builder); Result result = new AndroidStudioConverter().ConvertProblemToSarifResult(uut); result.PropertyNames.Count.Should().Be(1); result.GetProperty("severity").Should().Be("warning"); }
public void AndroidStudioProblem_RejectsLackOfLocationInformation() { AndroidStudioProblem.Builder builder = GetDefaultProblemBuilder(); builder.File = null; builder.Module = null; builder.Package = null; builder.EntryPointName = null; // Error: No location info, should throw new AndroidStudioProblem(builder); }
public void AndroidStudioProblem_BuilderWithHintsIsNotEmpty() { var uut = new AndroidStudioProblem.Builder(); uut.Hints = ImmutableArray <string> .Empty; Assert.IsFalse(uut.IsEmpty); uut.Hints = ImmutableArray.Create("a", "b", "c"); Assert.IsFalse(uut.IsEmpty); uut.Hints = default(ImmutableArray <string>); Assert.IsTrue(uut.IsEmpty); }
public void AndroidStudioConverter_ConvertToSarifResult_MultiplePropertiesArePersisted() { AndroidStudioProblem.Builder builder = AndroidStudioProblemTests.GetDefaultProblemBuilder(); builder.AttributeKey = "key"; builder.Severity = "warning"; var uut = new AndroidStudioProblem(builder); Result result = new AndroidStudioConverter().ConvertProblemToSarifResult(uut); result.PropertyNames.Count.Should().Be(2); result.GetProperty("severity").Should().Be("warning"); result.GetProperty("attributeKey").Should().Be("key"); }
public void AndroidStudioConverter_ConvertToSarifResult_HintsAreStapledToDescription() { var builder = new AndroidStudioProblem.Builder { ProblemClass = "Unused", File = "Unused", Description = "hungry EVIL zombies", Hints = ImmutableArray.Create("comment", "delete") }; var uut = new AndroidStudioProblem(builder); Result result = new AndroidStudioConverter().ConvertProblemToSarifResult(uut); Assert.AreEqual(@"hungry EVIL zombies Possible resolution: comment Possible resolution: delete", result.Message); }
private static LocationInfo GetLocationInfoForBuilder(AndroidStudioProblem.Builder builder) { var converter = new AndroidStudioConverter(); Result result = converter.ConvertProblemToSarifResult(new AndroidStudioProblem(builder)); Location location = result.Locations.First(); LogicalLocation logicalLocation = location.LogicalLocation.Index > -1 ? converter.LogicalLocations[location.LogicalLocation.Index] : null; return(new LocationInfo { Location = location, LogicalLocation = logicalLocation }); }
public void AndroidStudioProblem_BuilderWithHintsIsNotEmpty() { var uut = new AndroidStudioProblem.Builder(); uut.Hints = ImmutableArray<string>.Empty; Assert.IsFalse(uut.IsEmpty); uut.Hints = ImmutableArray.Create("a", "b", "c"); Assert.IsFalse(uut.IsEmpty); uut.Hints = default(ImmutableArray<string>); Assert.IsTrue(uut.IsEmpty); }
public void AndroidStudioProblem_DefaultConstructedBuilderIsEmpty() { var uut = new AndroidStudioProblem.Builder(); Assert.IsTrue(uut.IsEmpty); }