public FormatStrony UstalFormatStrony(IWymiarowalny strona) { var szerokość = strona.Szerokość.Mm; var wysokość = strona.Wysokość.Mm; var formatA4 = StandardoweFormaty.Szukaj("A4"); var powierzchniaA4 = formatA4.Szerokość.Pixels * formatA4.Wysokość.Pixels; var powierzchniaStrony = strona.Szerokość.Pixels * strona.Wysokość.Pixels; var stronyA4 = (double)powierzchniaStrony / (double)powierzchniaA4; var formatyRosnąco = _formaty.OrderBy(f => f.StronyA4); FormatStrony wybranyFormat = null; foreach (var format in formatyRosnąco) { if (stronyA4 > format.StronyA4) { continue; } wybranyFormat = format; break; //wybieramy ten format } if (wybranyFormat == null) { wybranyFormat = formatyRosnąco.Last(); } return(new FormatStrony { Nazwa = wybranyFormat.Nazwa, StronyA4 = stronyA4 }); }
public void DodajFormat(FormatStrony format) { Debug.Assert(format != null, "format != null"); if (_formaty.Contains(format)) { return; } _formaty.Add(format); }
public void FormatStrony_ShouldEfektywneStronyA4() { var format = new FormatStrony { StronyA4 = 1 }; format.Nazwa.ShouldBeNull(); format.StronyA4.ShouldBe(1); format.EfektywneStronyA4.ShouldBe(1); }
public void FormatStrony_ShouldBeUndefined() { var format = new FormatStrony(); format.Nazwa.ShouldBeNull(); format.Szerokość.ShouldBeNull(); format.Wysokość.ShouldBeNull(); format.StronyA4.ShouldBe(0); format.EfektywneStronyA4.ShouldBe(0); }