### Question:
CodigoDeBarrasBuilder { public String comCampoLivre(StringBuilder campoLivre) { this.codigoDeBarras.append(campoLivre); String trecho = this.codigoDeBarras.toString(); int digito = banco.getGeradorDeDigito().geraDigitoMod11(trecho); this.codigoDeBarras.insert(4, digito); validaTamahoDoCodigoDeBarrasCompletoGerado(); return this.codigoDeBarras.toString(); } CodigoDeBarrasBuilder(Boleto boleto); String comCampoLivre(StringBuilder campoLivre);  }### Answer:
@Test public void deveGerarOCodigoFixoDoBoletoQuandoCriado() throws Exception { String codigoFixo = codigo.comCampoLivre(campoLivre).substring(0, 19); assertEquals("3419256550000268016", codigoFixo); assertThat(codigoFixo, endsWith(boleto.getValorFormatado())); String numeroDoBancoFormatado = boleto.getBanco().getNumeroFormatado(); assertThat(codigoFixo, startsWith(numeroDoBancoFormatado)); }
@Test public void deveInserirODigitoVerificadorGeralNa5Casa() throws Exception { assertEquals("2", codigo.comCampoLivre(campoLivre).substring(4, 5)); }
@Test (expected=CriacaoBoletoException.class) public void deveLancarExceptionSeOCodigoGeradoForDiferenteDe44Digitos(){ codigo.comCampoLivre(new StringBuilder("012345678910111213141516")); }