public void TestTagMultiple()
{
var uploadParams = new ImageUploadParams()
{
File = new FileDescription(m_testImagePath)
};
var uploadResult1 = m_cloudinary.Upload(uploadParams);
var uploadResult2 = m_cloudinary.Upload(uploadParams);
var tagParams = new TagParams()
{
PublicIds = new List<string>() {
uploadResult1.PublicId,
uploadResult2.PublicId
},
Tag = "tag1"
};
m_cloudinary.Tag(tagParams);
// remove second ID
tagParams.PublicIds.RemoveAt(1);
tagParams.Tag = "tag2";
m_cloudinary.Tag(tagParams);
var r = m_cloudinary.GetResource(uploadResult1.PublicId);
Assert.NotNull(r.Tags);
Assert.True(r.Tags.SequenceEqual(new string[] { "tag1", "tag2" }));
r = m_cloudinary.GetResource(uploadResult2.PublicId);
Assert.NotNull(r.Tags);
Assert.True(r.Tags.SequenceEqual(new string[] { "tag1" }));
tagParams.Command = TagCommand.Remove;
tagParams.Tag = "tag1";
tagParams.PublicIds = new List<string>() { uploadResult1.PublicId };
m_cloudinary.Tag(tagParams);
r = m_cloudinary.GetResource(uploadResult1.PublicId);
Assert.NotNull(r.Tags);
Assert.True(r.Tags.SequenceEqual(new string[] { "tag2" }));
tagParams.Command = TagCommand.Replace;
tagParams.Tag = "tag3";
m_cloudinary.Tag(tagParams);
r = m_cloudinary.GetResource(uploadResult1.PublicId);
Assert.NotNull(r.Tags);
Assert.True(r.Tags.SequenceEqual(new string[] { "tag3" }));
}