예제 #1
0
        public void Radius_NegativeNumber_Exception()
        {
            float        radius = 5;
            FigureCircle circle = new FigureCircle(radius);

            Assert.Catch <IsNotFigureException>(() => circle.Radius = -5);
        }
예제 #2
0
        static void Main(string[] args)
        {
            Group          group = new GroupSum();
            FigureCircle   fc    = new FigureCircle(1);
            FigureSquare   fs    = new FigureSquare(3);
            FigureTriangle ft    = new FigureTriangle(3, 4, 5);

            Group gr = new GroupSum();

            gr.Add(fs);

            Console.WriteLine(fc.Measure());
            Console.WriteLine(fs.Measure());
            Console.WriteLine(ft.Measure());

            Console.WriteLine(gr.Measure());

            group.Add(fc);
            group.Add(fs);
            group.Add(ft);
            group.Add(gr);


            Console.WriteLine(group.Measure());
        }
예제 #3
0
        public void Square_Radius5()
        {
            float        radius = 5;
            FigureCircle circle = new FigureCircle(radius);

            float S = MathF.PI * MathF.Pow(radius, 2);

            Assert.AreEqual(S, circle.Square);
        }
예제 #4
0
        public void Perimeter_Radius5()
        {
            float        radius = 5;
            FigureCircle circle = new FigureCircle(radius);

            float P = MathF.PI * 2 * radius;

            Assert.AreEqual(P, circle.Perimeter);
        }
예제 #5
0
        public void Measure_Radius10()
        {
            float        radius = 10;
            FigureCircle circle = new FigureCircle(radius);
            float        S      = MathF.PI * MathF.Pow(radius, 2);

            float measure = circle.Measure();

            Assert.AreEqual(S, measure);
        }
예제 #6
0
        public void Measure_SumItems_OnlyFigures()
        {
            FigureSquare square   = new FigureSquare(3);
            FigureCircle circle   = new FigureCircle(3);
            GroupSum     groupSum = new GroupSum();

            groupSum.Add(square);
            groupSum.Add(circle);
            float measureItems = square.Measure() + circle.Measure();
            float measureGroup = groupSum.Measure();

            Assert.AreEqual(measureItems, measureGroup);
        }
예제 #7
0
        public void Measure_MultiplyItems_OnlyFigures()
        {
            FigureSquare  square        = new FigureSquare(3);
            FigureCircle  circle        = new FigureCircle(3);
            GroupMyltiply groupMyltiply = new GroupMyltiply();

            groupMyltiply.Add(square);
            groupMyltiply.Add(circle);
            float measureItems = square.Measure() * circle.Measure();
            float measureGroup = groupMyltiply.Measure();

            Assert.AreEqual(measureItems, measureGroup);
        }
예제 #8
0
        static IEnumerable <Figure> GetRandomFigures(int count)
        {
            const int MinWidth  = 10;
            const int MaxWidth  = 50;
            const int MinHeight = 10;
            const int MaxHeight = 50;

            var random = new Random();

            while (0 < count--)
            {
                var W = random.Next(MinWidth, MaxWidth);
                var H = random.Next(MinHeight, MaxHeight);

                Figure figure = null;

                switch (random.Next(0, 5))
                {
                case 0:
                    figure = new FigureQuadre(W, RandomColor(random));
                    break;

                case 1:
                    figure = new FigureRectangle(W, H, RandomColor(random));
                    break;

                case 2:
                    figure = new FigureCircle(W, RandomColor(random));
                    break;

                case 3:
                    figure = new FigureEllipse(W, H, RandomColor(random));
                    break;

                case 4:
                    figure = new FigureTriangle(W, H, RandomColor(random));
                    break;

                default:
                    throw new Exception("Не удалось создать игуру");
                }

                Figure.ToolTipEnable(figure);

                yield return(figure);
            }
        }
예제 #9
0
        public void Measure_MultiplyItems_FiguresAndOtherGroup()
        {
            FigureSquare   square        = new FigureSquare(2);
            FigureCircle   circle        = new FigureCircle(2);
            FigureTriangle triangle      = new FigureTriangle(3, 4, 5);
            GroupSum       groupSum      = new GroupSum();
            GroupMyltiply  groupMyltiply = new GroupMyltiply();

            groupSum.Add(triangle);
            groupSum.Add(square);
            groupMyltiply.Add(groupSum);
            groupMyltiply.Add(circle);
            float measureItems = groupSum.Measure() * circle.Measure();
            float measureGroup = groupMyltiply.Measure();

            Assert.AreEqual(measureItems, measureGroup);
        }