public async Task Post_deverá_falhar_qdo_a_empresa_for_nulo()
        {
            //Arrange
            Empresa empresa = null;
            var repo = new EmpresaRepositorioStub();
            var controller = new EmpresasController(repo);

            //Action
            var result = await controller.Post(empresa) as BadRequestErrorMessageResult;

            //Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("Empresa não pode ser nula", result.Message);

            controller.Dispose();
            repo.Dispose();
        }
        public async Task Post_deverá_falhar_qdo_a_empresa_já_possuir_um_Id()
        {
            //Arrange
            var empresa = new Empresa { Id = 1, Nome = "Nova Empresa", CNPJ="12345000199"};
            var repo = new EmpresaRepositorioStub();
            var controller = new EmpresasController(repo);

            //Action
            var result = await controller.Post(empresa) as BadRequestErrorMessageResult;

            //Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("Id da empresa inválido", result.Message);

            controller.Dispose();
            repo.Dispose();
        }
        public async Task Post_deverá_adicionar_a_empresa_e_retornar_o_caminho_da_mesma()
        {
            //Arrange
            var empresa = new Empresa { Nome = "Nova Empresa",CNPJ="12345000177"};
            var repo = new EmpresaRepositorioStub();
            var controller = new EmpresasController(repo);

            //Action
            var result = await controller.Post(empresa) as CreatedNegotiatedContentResult<Empresa>;

            //Assert
            Assert.IsNotNull(result);
            //Assert.AreEqual(result.RouteName, "DefaultApi");
            //Assert.AreEqual(result.RouteValues["id"], result.Content.Id);
            Assert.AreEqual(result.Content.Nome, empresa.Nome);

            controller.Dispose();
            repo.Dispose();
        }