public void GetVariableBlock() { var provider = new Mock<BaseCommandLineVersionControlProvider>(); provider.Setup(controlProvider => controlProvider.BuildCommandLineArguments(It.IsAny<VersionControlArguments>())) .Returns("args"); provider.SetupGet(vcp => vcp.FileName).Returns("VcsExecutable.exe"); var args = new VersionControlArguments { Credentials = new NetworkCredential("username", "password"), DestinationPath = "D:\\WorkingFolder\\MyProject", Label = "My Label", Operation = VersionControlOperation.Get, Project = "MyProject", Provider = "Vault", Server = "server:port", SourcePath = "$/MyProject" }; var indexer = new SourceIndexer(provider.Object, args); var block = indexer.GetVariableBlock(); Assert.AreEqual(@"SRCSRV: variables ------------------------------------------ VCS_EXECUTABLE=VcsExecutable.exe VCS_USERNAME=username VCS_PASSWORD=password VCS_SERVER=server:port VCS_PROJECT=MyProject SRCSRVTRG=%VCS_EXTRACT_TARGET% VCS_EXTRACT_CMD=""%VCS_EXECUTABLE%"" args SRCSRVCMD=%VCS_EXTRACT_CMD% VCS_EXTRACT_TARGET=" + SourceIndexer.VcsDestinationPath + "\r\n", block, ignoreCase: true); }