### Question:
Bradesco extends AbstractBanco implements Banco { @Override public String geraCodigoDeBarrasPara(Boleto boleto) { Beneficiario beneficiario = boleto.getBeneficiario(); StringBuilder campoLivre = new StringBuilder(); campoLivre.append(beneficiario.getAgenciaFormatada()); campoLivre.append(getCarteiraFormatado(beneficiario)); campoLivre.append(getNossoNumeroFormatado(beneficiario)); campoLivre.append(getCodigoBeneficiarioFormatado(beneficiario)); campoLivre.append("0"); return new CodigoDeBarrasBuilder(boleto).comCampoLivre(campoLivre); }  @Override String geraCodigoDeBarrasPara(Boleto boleto); @Override String getNumeroFormatadoComDigito(); @Override String getNumeroFormatado(); @Override java.net.URL getImage(); @Override String getCodigoBeneficiarioFormatado(Beneficiario beneficiario); @Override String getCarteiraFormatado(Beneficiario beneficiario); @Override String getNossoNumeroFormatado(Beneficiario beneficiario); @Override String getNossoNumeroECodigoDocumento(Boleto boleto);  }### Answer:
@Test public void testLinhaDoBancoBradesco() { this.banco = new Bradesco(); this.boleto = this.boleto.comBanco(this.banco); GeradorDeLinhaDigitavel linhaDigitavelGenerator = new GeradorDeLinhaDigitavel(); String codigoDeBarras = boleto.getBanco().geraCodigoDeBarrasPara(this.boleto); assertEquals("23792.94909 60000.000004 03000.658009 6 31680000000100", linhaDigitavelGenerator.geraLinhaDigitavelPara(codigoDeBarras,this.banco)); }
@Test public void testCodigoDeBarraDoBancoBradesco() { this.banco = new Bradesco(); this.boleto = this.boleto.comBanco(this.banco); assertEquals("23796316800000001002949060000000000300065800", this.banco.geraCodigoDeBarrasPara(this.boleto)); }