public async Task DeleteEstado_NotFound()
        {
            var options = Options;

            using (var context = new CompeticoesDbContext(options))
            {
                var controller = new EstadosController(context);

                var result = await controller.DeleteEstado(Guid.NewGuid());

                Assert.IsType <NotFoundResult>(result);
            }
        }
        public async Task DeleteEstado_BadRequest_ModelState_Invalid()
        {
            var options = Options;

            using (var context = new CompeticoesDbContext(options))
            {
                var controller = new EstadosController(context);

                controller.ModelState.AddModelError("key", "error");

                var result = await controller.DeleteEstado(Guid.NewGuid());

                var badRequestResult = Assert.IsType <BadRequestObjectResult>(result);
                var valueResult      = Assert.IsType <SerializableError>(badRequestResult.Value);
                var value            = Assert.IsType <string[]>(valueResult["key"]);
                Assert.Equal("error", value[0]);
            }
        }
        public async Task DeleteEstado_Ok()
        {
            var options = Options;

            var estado = await AdicionarEstado(options);

            using (var context = new CompeticoesDbContext(options))
            {
                var controller = new EstadosController(context);

                var result = await controller.DeleteEstado(estado.EstadoId);

                var okResult     = Assert.IsType <OkObjectResult>(result);
                var estadoResult = Assert.IsType <Estado>(okResult.Value);
            }

            using (var context = new CompeticoesDbContext(options))
            {
                Assert.True(!(await context.Estados
                              .AnyAsync(a => a.EstadoId == estado.EstadoId)));
            }
        }