/// <summary> /// Oblicza sumę stron w przeliczeniu na A4, na podstawie stosunku całkowitej powierzchni stron do powierzchni standardowej strony A4. /// </summary> /// <param name="strony"></param> /// <returns></returns> public static int SumaStronA4Powierzchniowo(this IRepozytoriumStron strony) { var klasyfikator = new MetrycznyKlasyfikatorStrony(); var sumaPowierzchni = strony.Strony.Sum(s => (long)s.Szerokość.Pixels * (long)s.Wysokość.Pixels); var formatA4 = StandardoweFormaty.FormatA4; var powierzchniaA4 = formatA4.Szerokość.Pixels * formatA4.Wysokość.Pixels; return((int)(sumaPowierzchni / powierzchniaA4)); }
public void MetrycznyKlasyfikator_ShouldClassify210x297AsA4() { var rozmiar = RozmiarStrony.RozmiarFromMm(297, 210); var analizator = new MetrycznyKlasyfikatorStrony(); var format = analizator.UstalFormatStrony(rozmiar); format.Nazwa.ShouldBe("A4"); format.StronyA4.ShouldBe(1); }
public void test_czy_strona_594x420_jest_formatu_A2() { var rozmiar = RozmiarStrony.RozmiarFromMm(420, 594); var analizator = new MetrycznyKlasyfikatorStrony(); var format = analizator.UstalFormatStrony(rozmiar); Assert.AreEqual("A2", format.Nazwa); Assert.AreEqual(4, format.StronyA4); Assert.AreEqual(4, format.EfektywneStronyA4); }
public void test_czy_strona_420x297_jest_formatu_A3() { var rozmiar = RozmiarStrony.RozmiarFromMm(297, 420); var analizator = new MetrycznyKlasyfikatorStrony(); var format = analizator.UstalFormatStrony(rozmiar); Assert.AreEqual("A3", format.Nazwa); Assert.AreEqual(2, format.StronyA4); Assert.AreEqual(2, format.EfektywneStronyA4); }
public void test_czy_strona_840x594_jest_formatu_A1() { var rozmiar = RozmiarStrony.RozmiarFromMm(594, 840); var analizator = new MetrycznyKlasyfikatorStrony(); var format = analizator.UstalFormatStrony(rozmiar); Assert.AreEqual("A1", format.Nazwa); Assert.AreEqual(8, format.StronyA4); Assert.AreEqual(8, format.EfektywneStronyA4); }
public void MetrycznyKlasyfikator_ShouldContainAddedFormat() { var klasyfikator = new MetrycznyKlasyfikatorStrony(); klasyfikator.Formaty.Count().ShouldBe(5); klasyfikator.DodajFormat(StandardoweFormaty.Format2A0); klasyfikator.Formaty.Count().ShouldBe(6); klasyfikator.Formaty.ShouldContain(StandardoweFormaty.Format2A0); klasyfikator.UstalFormatStrony(StandardoweFormaty.Format2A0) .ShouldBe(StandardoweFormaty.Format2A0); }
public void MetrycznyKlasyfikator_ShouldContain5DefaultFormats() { var klasyfikator = new MetrycznyKlasyfikatorStrony(); //klasyfikator.Formaty.ShouldBeEmpty(); klasyfikator.Formaty.Count().ShouldBe(5); klasyfikator.Formaty.ShouldContain(StandardoweFormaty.FormatA0); klasyfikator.Formaty.ShouldContain(StandardoweFormaty.FormatA1); klasyfikator.Formaty.ShouldContain(StandardoweFormaty.FormatA2); klasyfikator.Formaty.ShouldContain(StandardoweFormaty.FormatA3); klasyfikator.Formaty.ShouldContain(StandardoweFormaty.FormatA4); }
/// <summary> /// Oblicza sumę stron w przeliczeniu na A4, wykorzystując podobieństwo do standardowych formatów. /// </summary> /// <param name="strony"></param> /// <returns></returns> public static int SumaStronA4Metrycznie(this IRepozytoriumStron strony, params string[] formaty) { var klasyfikator = new MetrycznyKlasyfikatorStrony(); foreach (var format in formaty) { klasyfikator.DodajFormat(format); } var sumaStron = strony.Strony.Sum(s => klasyfikator.UstalFormatStrony(s).StronyA4); return((int)sumaStron); }
public static Dictionary <string, List <IStrona> > ZestawienieStronA4Metrycznie(this IRepozytoriumStron strony, params string[] formaty) { var klasyfikator = new MetrycznyKlasyfikatorStrony(); foreach (var format in formaty) { klasyfikator.DodajFormat(format); } var zestawienie = new Dictionary <string, List <IStrona> >(); foreach (var f in klasyfikator.Formaty) { zestawienie.Add(f.Nazwa, new List <IStrona>()); } foreach (var s in strony.Strony) { var f = klasyfikator.UstalFormatStrony(s); zestawienie[f.Nazwa].Add(s); } return(zestawienie); }