|
|
|
@ -15,11 +15,13 @@ namespace TextTemplating.Tests
@@ -15,11 +15,13 @@ namespace TextTemplating.Tests
|
|
|
|
|
{ |
|
|
|
|
TextTemplatingAssemblyResolver resolver; |
|
|
|
|
IProject project; |
|
|
|
|
FakeAssemblyParserService fakeAssemblyParserService; |
|
|
|
|
|
|
|
|
|
void CreateResolver() |
|
|
|
|
{ |
|
|
|
|
project = ProjectHelper.CreateProject(); |
|
|
|
|
resolver = new TextTemplatingAssemblyResolver(project); |
|
|
|
|
fakeAssemblyParserService = new FakeAssemblyParserService(); |
|
|
|
|
resolver = new TextTemplatingAssemblyResolver(project, fakeAssemblyParserService); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ReferenceProjectItem AddReferenceToProject(string referenceName) |
|
|
|
@ -29,10 +31,25 @@ namespace TextTemplating.Tests
@@ -29,10 +31,25 @@ namespace TextTemplating.Tests
|
|
|
|
|
return projectItem; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
IProject GetProjectPassedToAssemblyParserService() |
|
|
|
|
{ |
|
|
|
|
return ReferenceProjectItemPassedToGetReflectionProjectContentForReference.Project; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ReferenceProjectItem ReferenceProjectItemPassedToGetReflectionProjectContentForReference { |
|
|
|
|
get { return fakeAssemblyParserService.ItemPassedToGetReflectionProjectContentForReference; } |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ItemType GetReferenceItemTypePassedToAssemblyParserService() |
|
|
|
|
{ |
|
|
|
|
return ReferenceProjectItemPassedToGetReflectionProjectContentForReference.ItemType; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void Resolve_ProjectHasNoReferences_ReturnsAssemblyReferencePassedToMethod() |
|
|
|
|
{ |
|
|
|
|
CreateResolver(); |
|
|
|
|
fakeAssemblyParserService.FakeReflectionProjectContent = null; |
|
|
|
|
string result = resolver.Resolve("Test"); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual("Test", result); |
|
|
|
@ -76,5 +93,58 @@ namespace TextTemplating.Tests
@@ -76,5 +93,58 @@ namespace TextTemplating.Tests
|
|
|
|
|
|
|
|
|
|
Assert.AreEqual(expectedFileName, result); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void Resolve_ProjectHasNoReferencesAndAssemblyReferenceInGac_ReturnsFullPathToAssemblyFoundFromAssemblyParserService() |
|
|
|
|
{ |
|
|
|
|
CreateResolver(); |
|
|
|
|
string expectedFileName = @"c:\Windows\System32\Gac\System.Data.dll"; |
|
|
|
|
fakeAssemblyParserService.FakeReflectionProjectContent.AssemblyLocation = expectedFileName; |
|
|
|
|
|
|
|
|
|
string result = resolver.Resolve("System.Data"); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual(expectedFileName, result); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void Resolve_ProjectHasNoReferencesAndAssemblyReferenceInGac_ReferenceItemPassedToAssemblyParserServiceUsesProject() |
|
|
|
|
{ |
|
|
|
|
CreateResolver(); |
|
|
|
|
string result = resolver.Resolve("System.Data"); |
|
|
|
|
IProject expectedProject = GetProjectPassedToAssemblyParserService(); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual(project, expectedProject); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void Resolve_ProjectHasNoReferencesAndAssemblyReferenceInGac_ReferenceItemPassedToAssemblyParserServiceIsReference() |
|
|
|
|
{ |
|
|
|
|
CreateResolver(); |
|
|
|
|
string result = resolver.Resolve("System.Data"); |
|
|
|
|
ItemType type = GetReferenceItemTypePassedToAssemblyParserService(); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual(ItemType.Reference, type); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void Resolve_ProjectHasNoReferencesAndAssemblyReferenceInGac_ReferenceItemIncludePassedToAssemblyParserServiceIsAssemblyNameToResolve() |
|
|
|
|
{ |
|
|
|
|
CreateResolver(); |
|
|
|
|
string result = resolver.Resolve("System.Data"); |
|
|
|
|
string referenceInclude = ReferenceProjectItemPassedToGetReflectionProjectContentForReference.Include; |
|
|
|
|
|
|
|
|
|
Assert.AreEqual("System.Data", referenceInclude); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void Resolve_ProjectHasNoReferencesAndAssemblyReferenceNotFoundInGac_ReturnsAssemblyReferencePassedToMethod() |
|
|
|
|
{ |
|
|
|
|
CreateResolver(); |
|
|
|
|
fakeAssemblyParserService.FakeReflectionProjectContent = null; |
|
|
|
|
|
|
|
|
|
string result = resolver.Resolve("System.Data"); |
|
|
|
|
|
|
|
|
|
Assert.AreEqual("System.Data", result); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|