public void TestResponsiveBreakpointsToJson()
{
var responsiveBreakpoint = new ResponsiveBreakpoint().ToString(Formatting.None);
Assert.AreEqual("{\"create_derived\":true}", responsiveBreakpoint, "an empty ResponsiveBreakpoint should have create_derived=true");
var expectedToken1 = JToken.Parse("{\"create_derived\":false,\"max_width\":500,\"min_width\":100,\"max_images\":5,\"transformation\":\"a_45\"}");
IEnumerable<string> expectedList1 = expectedToken1.Children().Select(s => s.ToString(Formatting.None));
Transformation transform = new Transformation().Angle(45);
var breakpoint = new ResponsiveBreakpoint().CreateDerived(false)
.Transformation(transform)
.MaxWidth(500)
.MinWidth(100)
.MaxImages(5);
var actualList1 = breakpoint.Children().Select(s => s.ToString(Formatting.None));
CollectionAssert.AreEquivalent(expectedList1, actualList1);
breakpoint.Transformation(transform.Height(210).Crop("scale"));
var expectedToken2 = JToken.Parse("{\"create_derived\":false,\"max_width\":500,\"min_width\":100,\"max_images\":5,\"transformation\":\"a_45,c_scale,h_210\"}");
var expectedList2 = expectedToken2.Children().Select(s => s.ToString(Formatting.None));
var actualList2 = breakpoint.Children().Select(s => s.ToString(Formatting.None));
CollectionAssert.AreEquivalent(expectedList2, actualList2);
}