public void ITaskItemParameterWithMetadata() { TaskItem baseItem = new TaskItem("foo"); baseItem.SetMetadata("a", "a1"); baseItem.SetMetadata("b", "b1"); TaskParameter t = new TaskParameter(baseItem); Assert.Equal(TaskParameterType.ITaskItem, t.ParameterType); ITaskItem foo = t.WrappedParameter as ITaskItem; Assert.NotNull(foo); Assert.Equal("foo", foo.ItemSpec); Assert.Equal("a1", foo.GetMetadata("a")); Assert.Equal("b1", foo.GetMetadata("b")); ((ITranslatable)t).Translate(TranslationHelpers.GetWriteTranslator()); TaskParameter t2 = TaskParameter.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); Assert.Equal(TaskParameterType.ITaskItem, t2.ParameterType); ITaskItem foo2 = t2.WrappedParameter as ITaskItem; Assert.NotNull(foo2); Assert.Equal("foo", foo2.ItemSpec); Assert.Equal("a1", foo2.GetMetadata("a")); Assert.Equal("b1", foo2.GetMetadata("b")); }
public void ITaskItemParameter_EscapableNotEscapedMetadata() { IDictionary metadata = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase); metadata.Add("a", "a1(b1"); metadata.Add("b", "c1)d1"); TaskParameter t = new TaskParameter(new TaskItem("foo", metadata)); Assert.Equal(TaskParameterType.ITaskItem, t.ParameterType); ITaskItem2 foo = t.WrappedParameter as ITaskItem2; Assert.NotNull(foo); Assert.Equal("foo", foo.ItemSpec); Assert.Equal("a1(b1", foo.GetMetadata("a")); Assert.Equal("c1)d1", foo.GetMetadata("b")); Assert.Equal("a1(b1", foo.GetMetadataValueEscaped("a")); Assert.Equal("c1)d1", foo.GetMetadataValueEscaped("b")); ((ITranslatable)t).Translate(TranslationHelpers.GetWriteTranslator()); TaskParameter t2 = TaskParameter.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); Assert.Equal(TaskParameterType.ITaskItem, t2.ParameterType); ITaskItem2 foo2 = t2.WrappedParameter as ITaskItem2; Assert.NotNull(foo2); Assert.Equal("foo", foo2.ItemSpec); Assert.Equal("a1(b1", foo2.GetMetadata("a")); Assert.Equal("c1)d1", foo2.GetMetadata("b")); Assert.Equal("a1(b1", foo2.GetMetadataValueEscaped("a")); Assert.Equal("c1)d1", foo2.GetMetadataValueEscaped("b")); }
public void ITaskItemParameter_DoubleEscapedItemSpec() { TaskParameter t = new TaskParameter(new TaskItem("foo%253bbar")); Assert.Equal(TaskParameterType.ITaskItem, t.ParameterType); ITaskItem foo = t.WrappedParameter as ITaskItem; Assert.NotNull(foo); Assert.Equal("foo%3bbar", foo.ItemSpec); ((ITranslatable)t).Translate(TranslationHelpers.GetWriteTranslator()); TaskParameter t2 = TaskParameter.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); Assert.Equal(TaskParameterType.ITaskItem, t2.ParameterType); ITaskItem foo2 = t2.WrappedParameter as ITaskItem; Assert.NotNull(foo2); Assert.Equal("foo%3bbar", foo2.ItemSpec); TaskParameter t3 = new TaskParameter(t2.WrappedParameter); ((ITranslatable)t3).Translate(TranslationHelpers.GetWriteTranslator()); TaskParameter t4 = TaskParameter.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); Assert.Equal(TaskParameterType.ITaskItem, t4.ParameterType); ITaskItem foo4 = t4.WrappedParameter as ITaskItem; Assert.NotNull(foo4); Assert.Equal("foo%3bbar", foo4.ItemSpec); }
public void ValueTypeParameter() { TaskParameter t = new TaskParameter(1); Assert.Equal(1, t.WrappedParameter); Assert.Equal(TaskParameterType.ValueType, t.ParameterType); ((ITranslatable)t).Translate(TranslationHelpers.GetWriteTranslator()); TaskParameter t2 = TaskParameter.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); Assert.Equal(1, t2.WrappedParameter); Assert.Equal(TaskParameterType.ValueType, t2.ParameterType); }
public void StringParameter() { TaskParameter t = new TaskParameter("foo"); Assert.Equal("foo", t.WrappedParameter); Assert.Equal(TaskParameterType.String, t.ParameterType); ((ITranslatable)t).Translate(TranslationHelpers.GetWriteTranslator()); TaskParameter t2 = TaskParameter.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); Assert.Equal("foo", t2.WrappedParameter); Assert.Equal(TaskParameterType.String, t2.ParameterType); }
public void NullParameter() { TaskParameter t = new TaskParameter(null); Assert.Null(t.WrappedParameter); Assert.Equal(TaskParameterType.Null, t.ParameterType); ((INodePacketTranslatable)t).Translate(TranslationHelpers.GetWriteTranslator()); TaskParameter t2 = TaskParameter.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); Assert.Null(t2.WrappedParameter); Assert.Equal(TaskParameterType.Null, t2.ParameterType); }
public void EnumParameter() { TaskParameter t = new TaskParameter(TestEnumForParameter.SomethingElse); Assert.Equal("SomethingElse", t.WrappedParameter); Assert.Equal(TaskParameterType.String, t.ParameterType); ((ITranslatable)t).Translate(TranslationHelpers.GetWriteTranslator()); TaskParameter t2 = TaskParameter.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); Assert.Equal("SomethingElse", t2.WrappedParameter); Assert.Equal(TaskParameterType.String, t2.ParameterType); }
public void ITaskItemParameter_DoubleEscapedMetadata() { IDictionary metadata = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase); metadata.Add("a", "a1%2525b1"); metadata.Add("b", "c1%2528d1"); TaskParameter t = new TaskParameter(new TaskItem("foo", metadata)); Assert.Equal(TaskParameterType.ITaskItem, t.ParameterType); ITaskItem foo = t.WrappedParameter as ITaskItem; Assert.NotNull(foo); Assert.Equal("foo", foo.ItemSpec); Assert.Equal("a1%25b1", foo.GetMetadata("a")); Assert.Equal("c1%28d1", foo.GetMetadata("b")); ((INodePacketTranslatable)t).Translate(TranslationHelpers.GetWriteTranslator()); TaskParameter t2 = TaskParameter.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); Assert.Equal(TaskParameterType.ITaskItem, t2.ParameterType); ITaskItem foo2 = t2.WrappedParameter as ITaskItem; Assert.NotNull(foo2); Assert.Equal("foo", foo2.ItemSpec); Assert.Equal("a1%25b1", foo2.GetMetadata("a")); Assert.Equal("c1%28d1", foo2.GetMetadata("b")); TaskParameter t3 = new TaskParameter(t2.WrappedParameter); ((INodePacketTranslatable)t3).Translate(TranslationHelpers.GetWriteTranslator()); TaskParameter t4 = TaskParameter.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); Assert.Equal(TaskParameterType.ITaskItem, t4.ParameterType); ITaskItem foo4 = t4.WrappedParameter as ITaskItem; Assert.NotNull(foo4); Assert.Equal("foo", foo4.ItemSpec); Assert.Equal("a1%25b1", foo4.GetMetadata("a")); Assert.Equal("c1%28d1", foo4.GetMetadata("b")); }
public void ITaskItemParameter() { TaskParameter t = new TaskParameter(new TaskItem("foo")); Assert.Equal(TaskParameterType.ITaskItem, t.ParameterType); ITaskItem foo = t.WrappedParameter as ITaskItem; Assert.NotNull(foo); Assert.Equal("foo", foo.ItemSpec); ((ITranslatable)t).Translate(TranslationHelpers.GetWriteTranslator()); TaskParameter t2 = TaskParameter.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); Assert.Equal(TaskParameterType.ITaskItem, t2.ParameterType); ITaskItem foo2 = t2.WrappedParameter as ITaskItem; Assert.NotNull(foo2); Assert.Equal("foo", foo2.ItemSpec); }
public void BoolArrayParameter() { TaskParameter t = new TaskParameter(new bool[] { false, true }); Assert.Equal(TaskParameterType.ValueTypeArray, t.ParameterType); bool[] wrappedParameter = t.WrappedParameter as bool[]; Assert.NotNull(wrappedParameter); Assert.Equal(2, wrappedParameter.Length); Assert.False(wrappedParameter[0]); Assert.True(wrappedParameter[1]); ((ITranslatable)t).Translate(TranslationHelpers.GetWriteTranslator()); TaskParameter t2 = TaskParameter.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); Assert.Equal(TaskParameterType.ValueTypeArray, t2.ParameterType); bool[] wrappedParameter2 = Assert.IsType <bool[]>(t2.WrappedParameter); Assert.Equal(2, wrappedParameter2.Length); Assert.False(wrappedParameter2[0]); Assert.True(wrappedParameter2[1]); }
public void StringArrayParameter() { TaskParameter t = new TaskParameter(new string[] { "foo", "bar" }); Assert.Equal(TaskParameterType.StringArray, t.ParameterType); string[] wrappedParameter = t.WrappedParameter as string[]; Assert.NotNull(wrappedParameter); Assert.Equal(2, wrappedParameter.Length); Assert.Equal("foo", wrappedParameter[0]); Assert.Equal("bar", wrappedParameter[1]); ((ITranslatable)t).Translate(TranslationHelpers.GetWriteTranslator()); TaskParameter t2 = TaskParameter.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); Assert.Equal(TaskParameterType.StringArray, t2.ParameterType); string[] wrappedParameter2 = t2.WrappedParameter as string[]; Assert.NotNull(wrappedParameter2); Assert.Equal(2, wrappedParameter2.Length); Assert.Equal("foo", wrappedParameter2[0]); Assert.Equal("bar", wrappedParameter2[1]); }
public void ITaskItemParameter_EscapableNotEscapedItemSpec() { TaskParameter t = new TaskParameter(new TaskItem("foo;bar")); Assert.Equal(TaskParameterType.ITaskItem, t.ParameterType); ITaskItem2 foo = t.WrappedParameter as ITaskItem2; Assert.NotNull(foo); Assert.Equal("foo;bar", foo.ItemSpec); Assert.Equal("foo;bar", foo.EvaluatedIncludeEscaped); ((ITranslatable)t).Translate(TranslationHelpers.GetWriteTranslator()); TaskParameter t2 = TaskParameter.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); Assert.Equal(TaskParameterType.ITaskItem, t2.ParameterType); ITaskItem2 foo2 = t2.WrappedParameter as ITaskItem2; Assert.NotNull(foo2); Assert.Equal("foo;bar", foo2.ItemSpec); Assert.Equal("foo;bar", foo2.EvaluatedIncludeEscaped); }
public void ITaskItemArrayParameter() { TaskParameter t = new TaskParameter(new ITaskItem[] { new TaskItem("foo"), new TaskItem("bar") }); Assert.Equal(TaskParameterType.ITaskItemArray, t.ParameterType); ITaskItem[] wrappedParameter = t.WrappedParameter as ITaskItem[]; Assert.NotNull(wrappedParameter); Assert.Equal(2, wrappedParameter.Length); Assert.Equal("foo", wrappedParameter[0].ItemSpec); Assert.Equal("bar", wrappedParameter[1].ItemSpec); ((ITranslatable)t).Translate(TranslationHelpers.GetWriteTranslator()); TaskParameter.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); Assert.Equal(TaskParameterType.ITaskItemArray, t.ParameterType); ITaskItem[] wrappedParameter2 = t.WrappedParameter as ITaskItem[]; Assert.NotNull(wrappedParameter2); Assert.Equal(2, wrappedParameter2.Length); Assert.Equal("foo", wrappedParameter2[0].ItemSpec); Assert.Equal("bar", wrappedParameter2[1].ItemSpec); }
public void ValueTypeArrayParameter() { TaskParameter t = new TaskParameter(new int[] { 2, 15 }); Assert.Equal(TaskParameterType.ValueTypeArray, t.ParameterType); int[] wrappedParameter = t.WrappedParameter as int[]; Assert.NotNull(wrappedParameter); Assert.Equal(2, wrappedParameter.Length); Assert.Equal(2, wrappedParameter[0]); Assert.Equal(15, wrappedParameter[1]); ((ITranslatable)t).Translate(TranslationHelpers.GetWriteTranslator()); TaskParameter t2 = TaskParameter.FactoryForDeserialization(TranslationHelpers.GetReadTranslator()); Assert.Equal(TaskParameterType.ValueTypeArray, t2.ParameterType); int[] wrappedParameter2 = t2.WrappedParameter as int[]; Assert.NotNull(wrappedParameter2); Assert.Equal(2, wrappedParameter2.Length); Assert.Equal(2, wrappedParameter2[0]); Assert.Equal(15, wrappedParameter2[1]); }