public void TestResponsiveBreakpoints()
{
var breakpoint = new ResponsiveBreakpoint().MaxImages(5).BytesStep(20)
.MinWidth(200).MaxWidth(1000).CreateDerived(false);
var breakpoint2 = new ResponsiveBreakpoint().Transformation(new Transformation().Width(0.9).Crop("scale").Radius(50)).MaxImages(4).BytesStep(20)
.MinWidth(100).MaxWidth(900).CreateDerived(false);
// An array of breakpoints
ImageUploadParams uploadParams = new ImageUploadParams()
{
File = new FileDescription(m_testImagePath),
PublicId = "responsiveBreakpoint_id",
Tags = "test",
ResponsiveBreakpoints = new List<ResponsiveBreakpoint> { breakpoint, breakpoint2 }
};
ImageUploadResult result = m_cloudinary.Upload(uploadParams);
Assert.Null(result.Error);
Assert.NotNull(result.ResponsiveBreakpoints, "result should include 'ResponsiveBreakpoints'");
Assert.AreEqual(2, result.ResponsiveBreakpoints.Count);
Assert.AreEqual(5, result.ResponsiveBreakpoints[0].Breakpoints.Count);
Assert.AreEqual(1000, result.ResponsiveBreakpoints[0].Breakpoints[0].Width);
Assert.AreEqual(200, result.ResponsiveBreakpoints[0].Breakpoints[4].Width);
Assert.AreEqual(4, result.ResponsiveBreakpoints[1].Breakpoints.Count);
Assert.AreEqual(900, result.ResponsiveBreakpoints[1].Breakpoints[0].Width);
Assert.AreEqual(100, result.ResponsiveBreakpoints[1].Breakpoints[3].Width);
// responsive breakpoints for Explicit()
ExplicitParams exp = new ExplicitParams("responsiveBreakpoint_id")
{
EagerTransforms = new List<Transformation>() { new Transformation().Crop("scale").Width(2.0) },
Type = "upload",
ResponsiveBreakpoints = new List<ResponsiveBreakpoint> { breakpoint2.CreateDerived(true) }
};
ExplicitResult expResult = m_cloudinary.Explicit(exp);
Assert.AreEqual(1, expResult.ResponsiveBreakpoints.Count);
Assert.AreEqual(4, expResult.ResponsiveBreakpoints[0].Breakpoints.Count);
Assert.AreEqual(900, expResult.ResponsiveBreakpoints[0].Breakpoints[0].Width);
Assert.AreEqual(100, expResult.ResponsiveBreakpoints[0].Breakpoints[3].Width);
}