/// <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));
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
        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);
        }