public void TestTranslationWithITaskItemInDictionary() { IDictionary <string, object> parameters = new Dictionary <string, object>(); parameters.Add("TaskItemValue", new TaskItem("Foo")); TaskHostConfiguration config = new TaskHostConfiguration( 1, Directory.GetCurrentDirectory(), null, Thread.CurrentThread.CurrentCulture, Thread.CurrentThread.CurrentUICulture, #if FEATURE_APPDOMAIN null, #endif 1, 1, @"c:\my project\myproj.proj", _continueOnErrorDefault, "TaskName", @"c:\MyTasks\MyTask.dll", parameters); ((ITranslatable)config).Translate(TranslationHelpers.GetWriteTranslator()); INodePacket packet = TaskHostConfiguration.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); TaskHostConfiguration deserializedConfig = packet as TaskHostConfiguration; Assert.Equal(config.TaskName, deserializedConfig.TaskName); #if FEATURE_ASSEMBLY_LOADFROM Assert.Equal(config.TaskLocation, deserializedConfig.TaskLocation); #endif Assert.NotNull(deserializedConfig.TaskParameters); Assert.Equal(config.TaskParameters.Count, deserializedConfig.TaskParameters.Count); TaskHostPacketHelpers.AreEqual((ITaskItem)config.TaskParameters["TaskItemValue"].WrappedParameter, (ITaskItem)deserializedConfig.TaskParameters["TaskItemValue"].WrappedParameter); }
public void TestTranslationWithITaskItemArrayInDictionary() { IDictionary <string, object> parameters = new Dictionary <string, object>(); parameters.Add("TaskItemArrayValue", new ITaskItem[] { new TaskItem("Foo"), new TaskItem("Baz") }); TaskHostConfiguration config = new TaskHostConfiguration( nodeId: 1, startupDirectory: Directory.GetCurrentDirectory(), buildProcessEnvironment: null, culture: Thread.CurrentThread.CurrentCulture, uiCulture: Thread.CurrentThread.CurrentUICulture, #if FEATURE_APPDOMAIN appDomainSetup: #if FEATURE_APPDOMAIN null, #endif lineNumberOfTask: #endif 1, columnNumberOfTask: 1, projectFileOfTask: @"c:\my project\myproj.proj", continueOnError: _continueOnErrorDefault, taskName: "TaskName", taskLocation: @"c:\MyTasks\MyTask.dll", isTaskInputLoggingEnabled: false, taskParameters: parameters, globalParameters: null, warningsAsErrors: null, warningsNotAsErrors: null, warningsAsMessages: null); ((ITranslatable)config).Translate(TranslationHelpers.GetWriteTranslator()); INodePacket packet = TaskHostConfiguration.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); TaskHostConfiguration deserializedConfig = packet as TaskHostConfiguration; Assert.Equal(config.TaskName, deserializedConfig.TaskName); #if !FEATURE_ASSEMBLYLOADCONTEXT Assert.Equal(config.TaskLocation, deserializedConfig.TaskLocation); #endif Assert.NotNull(deserializedConfig.TaskParameters); Assert.Equal(config.TaskParameters.Count, deserializedConfig.TaskParameters.Count); ITaskItem[] itemArray = (ITaskItem[])config.TaskParameters["TaskItemArrayValue"].WrappedParameter; ITaskItem[] deserializedItemArray = (ITaskItem[])deserializedConfig.TaskParameters["TaskItemArrayValue"].WrappedParameter; TaskHostPacketHelpers.AreEqual(itemArray, deserializedItemArray); }
public void TestTranslationWithITaskItemArrayInDictionary() { IDictionary <string, object> parameters = new Dictionary <string, object>(); parameters.Add("TaskItemArrayValue", new ITaskItem[] { new TaskItem("Foo"), new TaskItem("Baz") }); TaskHostConfiguration config = new TaskHostConfiguration(1, Environment.CurrentDirectory, null, Thread.CurrentThread.CurrentCulture, Thread.CurrentThread.CurrentUICulture, null, 1, 1, @"c:\my project\myproj.proj", _continueOnErrorDefault, "TaskName", @"c:\MyTasks\MyTask.dll", parameters); ((INodePacketTranslatable)config).Translate(TranslationHelpers.GetWriteTranslator()); INodePacket packet = TaskHostConfiguration.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); TaskHostConfiguration deserializedConfig = packet as TaskHostConfiguration; Assert.AreEqual(config.TaskName, deserializedConfig.TaskName); Assert.AreEqual(config.TaskLocation, config.TaskLocation); Assert.IsNotNull(deserializedConfig.TaskParameters); Assert.AreEqual(config.TaskParameters.Count, deserializedConfig.TaskParameters.Count); ITaskItem[] itemArray = (ITaskItem[])config.TaskParameters["TaskItemArrayValue"].WrappedParameter; ITaskItem[] deserializedItemArray = (ITaskItem[])deserializedConfig.TaskParameters["TaskItemArrayValue"].WrappedParameter; TaskHostPacketHelpers.AreEqual(itemArray, deserializedItemArray); }