internal static void Run(Rectangle clientArea, IEnumerable <Rectangle> rectangles, Positioner.Parms pos, IEnumerable <Rectangle> expected, string label) { var rc = Positioner.DoPosition(pos, clientArea, rectangles).CheapToArray(); expected = expected.CheapToArray(); Assert.AreEqual(expected.Count(), rc.Length, $"{label}: Results length"); var results = expected.EquiZip(rc, (e, r) => new { expected = e, results = r }) .Select((r, i) => new { i, r.expected, r.results, success = r.expected.Equals(r.results) }) .ToArray(); Assert.IsTrue(results.All(r => r.success), results.Select(r => $"{Environment.NewLine}{r.expected} {(r.success ? "==" : "<>")} {r.results}").ToDelimitedString(","), $"{label}: equality"); }
public static Positioner.Parms WithRowsCols(this Positioner.Parms model, int rows, int cols) { return(new Positioner.Parms { Cols = cols, Rows = rows, HShape = model.HShape, VShape = model.VShape, Spacing = model.Spacing, Margin = model.Margin }); }