public void TestFaceCoordinates()
{
//should allow sending face coordinates
var faceCoordinates = new List<Rectangle>()
{
new Rectangle(121,31,110,151),
new Rectangle(120,30,109,150)
};
var uploadParams = new ImageUploadParams()
{
File = new FileDescription(m_testImagePath),
FaceCoordinates = faceCoordinates,
Faces = true
};
var uploadRes = m_cloudinary.Upload(uploadParams);
Assert.NotNull(uploadRes.Faces);
Assert.AreEqual(2, uploadRes.Faces.Length);
Assert.AreEqual(4, uploadRes.Faces[0].Length);
for (int i = 0; i < 2; i++)
{
Assert.AreEqual(faceCoordinates[i].X, uploadRes.Faces[i][0]);
Assert.AreEqual(faceCoordinates[i].Y, uploadRes.Faces[i][1]);
Assert.AreEqual(faceCoordinates[i].Width, uploadRes.Faces[i][2]);
Assert.AreEqual(faceCoordinates[i].Height, uploadRes.Faces[i][3]);
}
var explicitParams = new ExplicitParams(uploadRes.PublicId)
{
FaceCoordinates = "122,32,111,152",
Type = "upload"
};
var explicitRes = m_cloudinary.Explicit(explicitParams);
var res = m_cloudinary.GetResource(
new GetResourceParams(uploadRes.PublicId) { Faces = true });
Assert.NotNull(res.Faces);
Assert.AreEqual(1, res.Faces.Length);
Assert.AreEqual(4, res.Faces[0].Length);
Assert.AreEqual(122, res.Faces[0][0]);
Assert.AreEqual(32, res.Faces[0][1]);
Assert.AreEqual(111, res.Faces[0][2]);
Assert.AreEqual(152, res.Faces[0][3]);
}