Exemple #1
0
 public void CalculatePolygonArea_Should_Return_CorrectArea()
 {
     Assert.Equal(0, AreasCalculator.CalculatePolygonArea(Array.Empty <Point>()));
     Assert.Equal(0, AreasCalculator.CalculatePolygonArea(new Point(0, 0), new Point(3, 3)));
     Assert.Equal(4.5, AreasCalculator.CalculatePolygonArea(new Point(0, 0), new Point(0, 3), new Point(3, 3)));
     Assert.Equal(9, AreasCalculator.CalculatePolygonArea(new Point(0, 0), new Point(0, 3), new Point(3, 3), new Point(3, 0)));
     Assert.Equal(18, AreasCalculator.CalculatePolygonArea(new Point(-3, -3), new Point(-3, 3), new Point(3, 3)));
 }
        public async Task <ActionResult <Figure> > CreateCircleAsync(
            [FromBody] CreateCircleRequest request,
            CancellationToken cancellationToken)
        {
            var figure = new Db.Entities.Figure
            {
                FigureType = "circle",
                Object     = JsonSerializer.Serialize(request),
                Area       = AreasCalculator.CalculateCircleArea(request.Radius)
            };

            await _dbContext.Figures.AddAsync(figure, cancellationToken);

            await _dbContext.SaveChangesAsync(cancellationToken);

            return(await GetFigureAsync(figure.FigureId, cancellationToken));
        }
        public async Task <ActionResult <Figure> > CreateTriangleAsync(
            [FromBody] CreateTriangleRequest request,
            CancellationToken cancellationToken)
        {
            var entity = new Db.Entities.Figure
            {
                FigureType = "triangle",
                Object     = JsonSerializer.Serialize(request),
                Area       = AreasCalculator.CalculatePolygonArea(
                    new Point(request.Vertex1.X, request.Vertex1.Y),
                    new Point(request.Vertex2.X, request.Vertex2.Y),
                    new Point(request.Vertex3.X, request.Vertex3.Y))
            };

            await _dbContext.Figures.AddAsync(entity, cancellationToken);

            await _dbContext.SaveChangesAsync(cancellationToken);

            return(await GetFigureAsync(entity.FigureId, cancellationToken));
        }
Exemple #4
0
 public void CalculateCircleArea_Should_Handle_InvalidRadius()
 {
     Assert.Throws <ArgumentException>(() => AreasCalculator.CalculateCircleArea(0));
     Assert.Throws <ArgumentException>(() => AreasCalculator.CalculateCircleArea(-1));
 }
Exemple #5
0
 public void CalculateCircleArea_Should_Return_CorrectArea()
 {
     Assert.Equal(System.Math.PI, AreasCalculator.CalculateCircleArea(1));
     Assert.Equal(12.57, System.Math.Round(AreasCalculator.CalculateCircleArea(2), 2));
 }
Exemple #6
0
 public void CalculatePolygonArea_Should_Handle_NullParameter()
 {
     Assert.Throws <ArgumentNullException>(() => AreasCalculator.CalculatePolygonArea(Array.Empty <Point>()));
     Assert.Throws <ArgumentNullException>(() => AreasCalculator.CalculatePolygonArea(null));
 }