public static MockSolution InitializeWithTargetAndMixinInSeparateClass(this MockSolution s) { s.Projects.Add( new MockProject { AssemblyReferences = ReferenceHelper.GetDefaultSystemReferences() .Union(new[] { ReferenceHelper.GetReferenceToPMixinsDll() }) .ToList(), MockSourceFiles = { new MockSourceFile { FileName = new FilePath(MockSolution.MockSolutionFolder, "Mixin.cs"), Source = @" namespace Testing{ public class Mixin{ public int TestMethod(){return 42;} } }" }, new MockSourceFile { FileName = new FilePath(MockSolution.MockSolutionFolder, "Target.cs"), Source = @" namespace Testing{ [CopaceticSoftware.pMixins.Attributes.pMixin(Mixin = typeof(Mixin))] public partial class Target {} }" } } }); return(s); }
public static MockSolution InitializeWithInvalidTargetFile(this MockSolution s) { s.Projects.Add( new MockProject { AssemblyReferences = ReferenceHelper.GetDefaultSystemReferences() .Union(new[] { ReferenceHelper.GetReferenceToPMixinsDll() }) .ToList(), MockSourceFiles = { new MockSourceFile { FileName = new FilePath(MockSolution.MockSolutionFolder, "Target.cs"), Source = @" namespace Testing{ [CopaceticSoftware.pMixins.Attributes.pMixin(Mixin = typeof(MixinDoesNotExist))] public partial class Target {} } ", } } }); return(s); }
public static MockSourceFile[] RemoveFiles(this MockSolution solution, Func <MockSolution, IEnumerable <MockSourceFile> > sourceFilesFunc) { var files = sourceFilesFunc(solution); return (null == files ? new MockSourceFile[0] : files .Select(f => RemoveFile(solution, f)) .ToArray()); }
public static void AssertCompilesAndCanExecuteMethod( this MockSourceFile file, MockSolution solution, string methodName = MockSolutionInitializer.DefaultMixinMethodName, int returnValue = MockSolutionInitializer.DefaultMixinMethodReturnValue) { MockProject project = solution.Projects.FirstOrDefault(p => p.ContainsFile(file)); Assert.NotNull(project, "Failed to find Project for File [" + file.FileName + "]"); AssertCompilesAndCanExecuteMethod <int>( project, "Testing." + file.Classname, methodName, returnValue); }
public static MockSolution InitializeWithNormalClassFile(this MockSolution s) { s.Projects.Add( new MockProject { AssemblyReferences = ReferenceHelper.GetDefaultSystemReferences() .ToList(), MockSourceFiles = { MockSourceFile.CreateDefaultFile() } }); return(s); }
public static MockSolution InitializeWithChainedMixinInSeparateFiles(this MockSolution s) { s.InitializeWithTargetAndMixinInSeparateClass(); s.Projects[0].MockSourceFiles.Add(new MockSourceFile("Chained") { FileName = new FilePath(MockSolution.MockSolutionFolder, "Chained.cs"), Source = @" namespace Testing{ [CopaceticSoftware.pMixins.Attributes.pMixin(Mixin = typeof(Target))] public partial class Chained {} }" }); return(s); }
public static MockSourceFile RemoveFile(this MockSolution solution, MockSourceFile sourceFile) { if (null == sourceFile) { return(null); } //Load Project var project = solution.Projects.FirstOrDefault(p => p.ContainsFile(sourceFile)); Assert.NotNull(project, "Could not find Project that contains [{0}]", sourceFile.FileName); //Remove File from Project project.MockSourceFiles = project.MockSourceFiles .Where(f => !f.FileName.Equals(sourceFile.FileName)) .ToList(); return(sourceFile); }
public override void MainSetup() { TestSpecificKernel = KernelFactory.BuildDefaultKernelForTests(); EventProxy = TestSpecificKernel.Get <IVisualStudioEventProxy>() //This is important, if the casting isn't done, then EventProxy isn't returned via IoC as TestVisualStudioEventProxy; _MockFileWrapper = BuildMockFileReader(); TestSpecificKernel.Rebind <IFileWrapper>().ToMethod(c => _MockFileWrapper); _MockMicrosoftBuildProjectLoader = BuildMockMicrosoftBuildProjectLoader(); TestSpecificKernel.Rebind <IMicrosoftBuildProjectLoader>().ToMethod(c => _MockMicrosoftBuildProjectLoader); _MockCodeBehindFileHelper = BuildMockCodeBehindFileHelper(); TestSpecificKernel.Rebind <ICodeBehindFileHelper>().ToMethod(c => _MockCodeBehindFileHelper); _MockSolution = new MockSolution(); //Set solution context TestSpecificKernel.Get <ISolutionContext>().SolutionFileName = _MockSolution.FileName; }
public override void MainSetup() { TestSpecificKernel = KernelFactory.BuildDefaultKernelForTests(); EventProxy = TestSpecificKernel.Get<IVisualStudioEventProxy>() //This is important, if the casting isn't done, then EventProxy isn't returned via IoC as TestVisualStudioEventProxy; _MockFileWrapper = BuildMockFileReader(); TestSpecificKernel.Rebind<IFileWrapper>().ToMethod(c => _MockFileWrapper); _MockMicrosoftBuildProjectLoader = BuildMockMicrosoftBuildProjectLoader(); TestSpecificKernel.Rebind<IMicrosoftBuildProjectLoader>().ToMethod(c => _MockMicrosoftBuildProjectLoader); _MockCodeBehindFileHelper = BuildMockCodeBehindFileHelper(); TestSpecificKernel.Rebind<ICodeBehindFileHelper>().ToMethod(c => _MockCodeBehindFileHelper); _MockSolution = new MockSolution(); //Set solution context TestSpecificKernel.Get<ISolutionContext>().SolutionFileName = _MockSolution.FileName; }
public static MockSolution InitializeWithEmptyProject(this MockSolution s) { s.Projects.Add(new MockProject()); return(s); }
public static MockSourceFile RemoveFile(this MockSolution solution, Func <MockSolution, MockSourceFile> sourceFileFunc) { return(RemoveFile(solution, sourceFileFunc(solution))); }