From 99b41b47c5dcfe3a220fca44b6cc8554f436018d Mon Sep 17 00:00:00 2001 From: Max Doerner Date: Sun, 15 Jul 2018 14:31:19 +0200 Subject: [PATCH] Made the major and minor version on AddReferences on the MockProject mandatory to avoid that people forget to set them when they are required. --- .../Binding/MemberAccessTypeBindingTests.cs | 2 +- .../Binding/SimpleNameDefaultBindingTests.cs | 6 +++--- .../Binding/SimpleNameTypeBindingTests.cs | 6 +++--- .../MemberNotOnInterfaceInspectionTests.cs | 2 +- .../ShadowedDeclarationInspectionTests.cs | 12 ++++++------ .../SheetAccessedUsingStringInspectionTests.cs | 2 +- RubberduckTests/Mocks/MockProjectBuilder.cs | 2 +- RubberduckTests/Symbols/DeclarationFinderTests.cs | 5 +++-- 8 files changed, 19 insertions(+), 18 deletions(-) diff --git a/RubberduckTests/Binding/MemberAccessTypeBindingTests.cs b/RubberduckTests/Binding/MemberAccessTypeBindingTests.cs index 50d6377c3a..2915fe7d7b 100644 --- a/RubberduckTests/Binding/MemberAccessTypeBindingTests.cs +++ b/RubberduckTests/Binding/MemberAccessTypeBindingTests.cs @@ -106,7 +106,7 @@ public void LExpressionIsProjectAndUnrestrictedNameIsType() var enclosingProject = builder .ProjectBuilder("AnyProjectName", ProjectProtection.Unprotected) - .AddReference(referencedProjectName, ReferencedProjectFilepath) + .AddReference(referencedProjectName, ReferencedProjectFilepath, 0, 0) .AddComponent(TestClassName, ComponentType.ClassModule, code) .Build(); builder.AddProject(enclosingProject); diff --git a/RubberduckTests/Binding/SimpleNameDefaultBindingTests.cs b/RubberduckTests/Binding/SimpleNameDefaultBindingTests.cs index ba3d60289d..55c578eda4 100644 --- a/RubberduckTests/Binding/SimpleNameDefaultBindingTests.cs +++ b/RubberduckTests/Binding/SimpleNameDefaultBindingTests.cs @@ -92,7 +92,7 @@ public void OtherModuleInEnclosingProjectComesBeforeReferencedProjectModule() builder.AddProject(referencedProject); var enclosingProjectBuilder = builder.ProjectBuilder("AnyProjectName", ProjectProtection.Unprotected); - enclosingProjectBuilder.AddReference(referencedProjectName, ReferencedProjectFilepath); + enclosingProjectBuilder.AddReference(referencedProjectName, ReferencedProjectFilepath, 0, 0); enclosingProjectBuilder.AddComponent(TestClassName, ComponentType.ClassModule, CreateTestProcedure(BindingTargetName)); enclosingProjectBuilder.AddComponent("AnyModule", ComponentType.StandardModule, CreateEnumType(BindingTargetName)); var enclosingProject = enclosingProjectBuilder.Build(); @@ -123,7 +123,7 @@ public void ReferencedProjectModuleComesBeforeReferencedProjectType() var enclosingProject = builder .ProjectBuilder("AnyProjectName", ProjectProtection.Unprotected) - .AddReference(referencedProjectName, ReferencedProjectFilepath) + .AddReference(referencedProjectName, ReferencedProjectFilepath, 0, 0) .AddComponent(TestClassName, ComponentType.ClassModule, CreateTestProcedure(BindingTargetName)) .Build(); builder.AddProject(enclosingProject); @@ -151,7 +151,7 @@ public void ReferencedProjectClassNotMarkedAsGlobalClassModuleIsNotReferenced() builder.AddProject(referencedProject); var enclosingProjectBuilder = builder.ProjectBuilder("AnyProjectName", ProjectProtection.Unprotected); - enclosingProjectBuilder.AddReference(referencedProjectName, ReferencedProjectFilepath); + enclosingProjectBuilder.AddReference(referencedProjectName, ReferencedProjectFilepath, 0, 0); enclosingProjectBuilder.AddComponent(TestClassName, ComponentType.ClassModule, CreateTestProcedure(BindingTargetName)); var enclosingProject = enclosingProjectBuilder.Build(); builder.AddProject(enclosingProject); diff --git a/RubberduckTests/Binding/SimpleNameTypeBindingTests.cs b/RubberduckTests/Binding/SimpleNameTypeBindingTests.cs index 2d4b0ac3fa..5a85c616c1 100644 --- a/RubberduckTests/Binding/SimpleNameTypeBindingTests.cs +++ b/RubberduckTests/Binding/SimpleNameTypeBindingTests.cs @@ -72,7 +72,7 @@ public void OtherModuleInEnclosingProjectComesBeforeReferencedProjectModule() builder.AddProject(referencedProject); var enclosingProjectBuilder = builder.ProjectBuilder("AnyProjectName", ProjectProtection.Unprotected); - enclosingProjectBuilder.AddReference(REFERENCED_PROJECT_NAME, ReferencedProjectFilepath); + enclosingProjectBuilder.AddReference(REFERENCED_PROJECT_NAME, ReferencedProjectFilepath, 0, 0); enclosingProjectBuilder.AddComponent(TEST_CLASS_NAME, ComponentType.ClassModule, "Public WithEvents anything As " + BINDING_TARGET_NAME); enclosingProjectBuilder.AddComponent("AnyModule", ComponentType.StandardModule, CreateEnumType(BINDING_TARGET_NAME)); var enclosingProject = enclosingProjectBuilder.Build(); @@ -101,7 +101,7 @@ public void ReferencedProjectModuleComesBeforeReferencedProjectType() builder.AddProject(referencedProject); var enclosingProjectBuilder = builder.ProjectBuilder("AnyProjectName", ProjectProtection.Unprotected); - enclosingProjectBuilder.AddReference(REFERENCED_PROJECT_NAME, ReferencedProjectFilepath); + enclosingProjectBuilder.AddReference(REFERENCED_PROJECT_NAME, ReferencedProjectFilepath, 0, 0); enclosingProjectBuilder.AddComponent(TEST_CLASS_NAME, ComponentType.ClassModule, "Public WithEvents anything As " + BINDING_TARGET_NAME); var enclosingProject = enclosingProjectBuilder.Build(); builder.AddProject(enclosingProject); @@ -132,7 +132,7 @@ public void ReferencedProjectType() builder.AddProject(referencedProject); var enclosingProjectBuilder = builder.ProjectBuilder("Enclosing", ProjectProtection.Unprotected); - enclosingProjectBuilder.AddReference(referencedProjectName, ReferencedProjectFilepath); + enclosingProjectBuilder.AddReference(referencedProjectName, ReferencedProjectFilepath, 0, 0); enclosingProjectBuilder.AddComponent(TEST_CLASS_NAME, ComponentType.ClassModule, enclosingCode); var enclosingProject = enclosingProjectBuilder.Build(); builder.AddProject(enclosingProject); diff --git a/RubberduckTests/Inspections/MemberNotOnInterfaceInspectionTests.cs b/RubberduckTests/Inspections/MemberNotOnInterfaceInspectionTests.cs index 7f8a1dc261..fefcb79958 100644 --- a/RubberduckTests/Inspections/MemberNotOnInterfaceInspectionTests.cs +++ b/RubberduckTests/Inspections/MemberNotOnInterfaceInspectionTests.cs @@ -290,7 +290,7 @@ End Sub projectBuilder.MockUserFormBuilder("UserForm1", userForm1Code).AddFormToProjectBuilder() .AddComponent("ReferencingModule", ComponentType.StandardModule, analyzedCode) //.AddReference("Excel", MockVbeBuilder.LibraryPathMsExcel) - .AddReference("MSForms", MockVbeBuilder.LibraryPathMsForms); + .AddReference("MSForms", MockVbeBuilder.LibraryPathMsForms, 2, 0); mockVbe.AddProject(projectBuilder.Build()); diff --git a/RubberduckTests/Inspections/ShadowedDeclarationInspectionTests.cs b/RubberduckTests/Inspections/ShadowedDeclarationInspectionTests.cs index 345782c218..6626eb01c9 100644 --- a/RubberduckTests/Inspections/ShadowedDeclarationInspectionTests.cs +++ b/RubberduckTests/Inspections/ShadowedDeclarationInspectionTests.cs @@ -134,10 +134,10 @@ public void ShadowedDeclaration_ReturnsCorrectResult_DeclarationsWithSameNameAsR foreach (var expectedResultCount in expectedResultCountsByDeclarationIdentifierName) { var referencedProject = builder.ProjectBuilder(expectedResultCount.Key, ProjectProtection.Unprotected) - .AddComponent("Foo" + expectedResultCount.Key, ComponentType.StandardModule, "") + .AddComponent("Foo" + expectedResultCount.Key, ComponentType.StandardModule, string.Empty) .Build(); builder.AddProject(referencedProject); - userProjectBuilder = userProjectBuilder.AddReference(expectedResultCount.Key, ""); + userProjectBuilder = userProjectBuilder.AddReference(expectedResultCount.Key, string.Empty, 0, 0); } var userProject = userProjectBuilder.Build(); @@ -5046,7 +5046,7 @@ public void ShadowedDeclaration_DoesNotReturnResult_EventParameterWithSameNameAs builder.AddProject(referencedProject); var userProject = builder.ProjectBuilder("Baz", ProjectProtection.Unprotected) .AddComponent("Qux", ComponentType.ClassModule, $"Public Event E ({sameName} As String)") - .AddReference("Foo", "") + .AddReference("Foo", string.Empty, 0, 0) .Build(); builder.AddProject(userProject); @@ -5125,7 +5125,7 @@ public void ShadowedDeclaration_Ignored_DoesNotReturnResult() builder.AddProject(referencedProject); var userProject = builder.ProjectBuilder("Baz", ProjectProtection.Unprotected) .AddComponent("Qux", ComponentType.StandardModule, ignoredDeclarationCode) - .AddReference("Foo", string.Empty) + .AddReference("Foo", string.Empty, 0, 0) .Build(); builder.AddProject(userProject); @@ -5198,7 +5198,7 @@ private MockVbeBuilder TestVbeWithUserProjectAndReferencedProjectWithComponentsO } var referencedProject = referencedProjectBuilder.Build(); builder.AddProject(referencedProject); - var userProject = CreateUserProject(builder, userProjectName).AddReference(referencedProjectName, string.Empty).Build(); + var userProject = CreateUserProject(builder, userProjectName).AddReference(referencedProjectName, string.Empty, 0, 0).Build(); builder.AddProject(userProject); return builder; @@ -5233,7 +5233,7 @@ private MockVbeBuilder TestVbeWithUserProjectAndReferencedProjectWithComponentWi referencedProjectBuilder.AddComponent(referencedComponentName, referencedComponentComponentType, referencedComponentCode); var referencedProject = referencedProjectBuilder.Build(); builder.AddProject(referencedProject); - var userProject = CreateUserProject(builder, userProjectName).AddReference(referencedProjectName, string.Empty).Build(); + var userProject = CreateUserProject(builder, userProjectName).AddReference(referencedProjectName, string.Empty, 0, 0).Build(); builder.AddProject(userProject); return builder; diff --git a/RubberduckTests/Inspections/SheetAccessedUsingStringInspectionTests.cs b/RubberduckTests/Inspections/SheetAccessedUsingStringInspectionTests.cs index 8156383412..6c9c730e07 100644 --- a/RubberduckTests/Inspections/SheetAccessedUsingStringInspectionTests.cs +++ b/RubberduckTests/Inspections/SheetAccessedUsingStringInspectionTests.cs @@ -171,7 +171,7 @@ private static RubberduckParserState ArrangeParserAndParse(string inputCode) CreateVBComponentPropertyMock("Name", "Sheet1").Object, CreateVBComponentPropertyMock("CodeName", "Sheet1").Object }) - .AddReference("ReferencedProject", "") + .AddReference("ReferencedProject", string.Empty, 0, 0) .AddReference("Excel", MockVbeBuilder.LibraryPathMsExcel, 1, 8, true) .Build(); diff --git a/RubberduckTests/Mocks/MockProjectBuilder.cs b/RubberduckTests/Mocks/MockProjectBuilder.cs index 8ab58fce34..97514a2776 100644 --- a/RubberduckTests/Mocks/MockProjectBuilder.cs +++ b/RubberduckTests/Mocks/MockProjectBuilder.cs @@ -106,7 +106,7 @@ public MockProjectBuilder AddComponent(Mock component, MockThe path to the referenced library. /// Indicates whether the reference is a built-in reference. /// Returns the instance. - public MockProjectBuilder AddReference(string name, string filePath, int major = 0, int minor = 0, bool isBuiltIn = false) + public MockProjectBuilder AddReference(string name, string filePath, int major, int minor, bool isBuiltIn = false) { var reference = CreateReferenceMock(name, filePath, major, minor, isBuiltIn); _references.Add(reference.Object); diff --git a/RubberduckTests/Symbols/DeclarationFinderTests.cs b/RubberduckTests/Symbols/DeclarationFinderTests.cs index ac18cf978f..fa4c4be817 100644 --- a/RubberduckTests/Symbols/DeclarationFinderTests.cs +++ b/RubberduckTests/Symbols/DeclarationFinderTests.cs @@ -1224,7 +1224,7 @@ public void Identify_NamedParameter_Parameter_FromExcel() var vbe = new MockVbeBuilder() .ProjectBuilder("TestProject", ProjectProtection.Unprotected) .AddComponent("TestModule", ComponentType.StandardModule, code, new Selection(5, 16)) - .AddReference("Excel", MockVbeBuilder.LibraryPathMsExcel) + .AddReference("Excel", MockVbeBuilder.LibraryPathMsExcel, 1, 8) .AddProjectToVbeBuilder() .Build(); @@ -1235,6 +1235,7 @@ public void Identify_NamedParameter_Parameter_FromExcel() Assert.AreEqual(expected, actual, "Expected {0}, resolved to {1}", expected.DeclarationType, actual.DeclarationType); } + [Category("Resolver")] [Test] [Ignore("Need to fix the default member access for function calls; see case #3937")] @@ -1252,7 +1253,7 @@ public void Identify_NamedParameter_Parameter_FromExcel_DefaultAccess() var vbe = new MockVbeBuilder() .ProjectBuilder("TestProject", ProjectProtection.Unprotected) .AddComponent("TestModule", ComponentType.StandardModule, code, new Selection(6, 22)) - .AddReference("Excel", MockVbeBuilder.LibraryPathMsExcel) + .AddReference("Excel", MockVbeBuilder.LibraryPathMsExcel, 1, 8) .AddProjectToVbeBuilder() .Build();