Ejemplo n.º 1
0
        public void Constructor1Minute()
        {
            var item = new TimeSpanItem(150, TimeSpanUnit.Minute);

            Assert.AreEqual(item.Span, new TimeSpan(2, 30, 0));
            Assert.IsTrue(MathExtensions.AlmostEquals(item.AmountOf(TimeSpanUnit.Hour), 2.5m));
        }
Ejemplo n.º 2
0
        public void Constructor3Default()
        {
            var item = new TimeSpanItem(new DateTime(2000, 1, 1, 1, 1, 0), new DateTime(2000, 1, 1, 1, 2, 0));

            Assert.IsTrue(MathExtensions.AlmostEquals(item.AmountOf(TimeSpanUnit.Second), 60));
            Assert.AreEqual(item.Amount, 60);
        }
Ejemplo n.º 3
0
        public void Constructor1Hour()
        {
            var item = new TimeSpanItem(12, TimeSpanUnit.Hour);

            Assert.AreEqual(item.Span, new TimeSpan(12, 0, 0));
            Assert.IsTrue(MathExtensions.AlmostEquals(item.AmountOf(TimeSpanUnit.Day), 0.5m));
        }
Ejemplo n.º 4
0
        public void Constructor2Minute()
        {
            var item = new TimeSpanItem(new TimeSpan(0, 1, 0), null, TimeSpanUnit.Minute);

            Assert.IsTrue(MathExtensions.AlmostEquals(item.AmountOf(TimeSpanUnit.Second), 60));
            Assert.IsTrue(MathExtensions.AlmostEquals(item.AmountOf(TimeSpanUnit.Minute), 1));
            Assert.AreEqual(item.Amount, 1);
        }
Ejemplo n.º 5
0
        public void RateYear2018()
        {
            var year2018 = new PeriodItem(new DateTime(2018, 1, 1), new DateTime(2018, 12, 31));

            Assert.IsTrue(MathExtensions.AlmostEquals(year2018.AmountOf(PeriodUnit.Month), 12));

            Assert.IsTrue(MathExtensions.AlmostEquals(year2018.AmountOf(PeriodUnit.Year), 1));
        }
Ejemplo n.º 6
0
        public void RateYear2016_183days()
        {
            var year2016_183days = new PeriodItem(new DateTime(2016, 1, 1), new DateTime(2016, 07, 1));

            Assert.IsTrue(MathExtensions.AlmostEquals(year2016_183days.AmountOf(PeriodUnit.Month), 6));

            Assert.IsTrue(MathExtensions.AlmostEquals(year2016_183days.AmountOf(PeriodUnit.Year), 0.5m));
        }
Ejemplo n.º 7
0
        public void RateYear2017_73days()
        {
            var year2017_73days = new PeriodItem(new DateTime(2017, 1, 1), new DateTime(2017, 03, 14));

            Assert.IsTrue(MathExtensions.AlmostEquals(year2017_73days.AmountOf(PeriodUnit.Month), 2.4m));

            Assert.IsTrue(MathExtensions.AlmostEquals(year2017_73days.AmountOf(PeriodUnit.Year), 0.2m));
        }
Ejemplo n.º 8
0
            /// <summary>
            /// Returns the index of an existing text edge using the specified x coordinate and alignment.
            /// </summary>
            /// <param name="x_coord"></param>
            /// <param name="align"></param>
            /// <returns>Returns the index of an existing text edge using the specified x coordinate and alignment. Null if not found.</returns>
            public int?Find(float x_coord, string align)
            {
                var edges = _textedges[align];

                for (int i = 0; i < edges.Count; i++)
                {
                    TextEdge te = edges[i];
                    if (MathExtensions.AlmostEquals(te.X, x_coord, 0.5))
                    {
                        return(i);
                    }
                }
                return(null);
            }
Ejemplo n.º 9
0
        public void RateCommon()
        {
            var _12min = new TimeSpanItem(new TimeSpan(0, 0, 12, 0), null, TimeSpanUnit.Minute, Rounding.AwayFromZero);

            Assert.IsTrue(MathExtensions.AlmostEquals(_12min.AmountOf(TimeSpanUnit.FiveMinutes), 2));

            var _12min30sec = new TimeSpanItem(new TimeSpan(0, 0, 12, 30), null, TimeSpanUnit.Minute, Rounding.AwayFromZero);

            Assert.IsTrue(MathExtensions.AlmostEquals(_12min30sec.AmountOf(TimeSpanUnit.FiveMinutes), 3));

            var _13min = new TimeSpanItem(new TimeSpan(0, 0, 13, 0), null, TimeSpanUnit.Minute, Rounding.AwayFromZero);

            Assert.IsTrue(MathExtensions.AlmostEquals(_13min.AmountOf(TimeSpanUnit.FiveMinutes), 3));
        }
Ejemplo n.º 10
0
 /// <summary>
 /// Updates the text edge's x and bottom y coordinates and sets the is_valid attribute.
 /// </summary>
 /// <param name="x"></param>
 /// <param name="y0"></param>
 /// <param name="edge_tol"></param>
 public void UpdateCoords(float x, float y0, float edge_tol = 50)
 {
     if (MathExtensions.AlmostEquals(Y0, y0, edge_tol))
     {
         X  = ((Intersections * X) + x) / (Intersections + 1);
         Y0 = y0;
         Intersections++;
         // a textedge is valid only if it extends uninterrupted
         // over a required number of textlines
         if (Intersections > TEXTEDGE_REQUIRED_ELEMENTS)
         {
             IsValid = true;
         }
     }
 }
Ejemplo n.º 11
0
        public void RateToEven()
        {
            var _12minToEven1 = new TimeSpanItem(new TimeSpan(0, 0, 12, 0), null, TimeSpanUnit.Minute, Rounding.HalfToEven);

            Assert.IsTrue(MathExtensions.AlmostEquals(_12minToEven1.AmountOf(TimeSpanUnit.FiveMinutes), 2));

            var _12minToEven2 = new TimeSpanItem(new TimeSpan(0, 0, 12, 30), null, TimeSpanUnit.Minute, Rounding.HalfToEven);

            Assert.IsTrue(MathExtensions.AlmostEquals(_12minToEven2.AmountOf(TimeSpanUnit.FiveMinutes), 2));

            var _12minToEven3 = new TimeSpanItem(new TimeSpan(0, 0, 13, 0), null, TimeSpanUnit.Minute, Rounding.HalfToEven);

            Assert.IsTrue(MathExtensions.AlmostEquals(_12minToEven3.AmountOf(TimeSpanUnit.FiveMinutes), 3));

            var _12minToEven4 = new TimeSpanItem(new TimeSpan(0, 0, 17, 30), null, TimeSpanUnit.Minute, Rounding.HalfToEven);

            Assert.IsTrue(MathExtensions.AlmostEquals(_12minToEven4.AmountOf(TimeSpanUnit.FiveMinutes), 4));
        }
Ejemplo n.º 12
0
        public void RateExactCommon()
        {
            var _10min = new TimeSpanItem(new TimeSpan(0, 0, 10, 0), null, TimeSpanUnit.Minute, Rounding.AwayFromZero);

            Assert.IsTrue(MathExtensions.AlmostEquals(_10min.AmountOf(TimeSpanUnit.FiveMinutes), 2));
        }
Ejemplo n.º 13
0
        public void RateNone()
        {
            var _12min = new TimeSpanItem(new TimeSpan(0, 0, 12, 0), null, TimeSpanUnit.Minute);

            Assert.IsTrue(MathExtensions.AlmostEquals(_12min.AmountOf(TimeSpanUnit.FiveMinutes), 2.4m));
        }