Пример #1
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);
        }
        /// <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);
        }