teste-e-qualidade-de-software icon indicating copy to clipboard operation
teste-e-qualidade-de-software copied to clipboard

Album de Músicas

Open elissonmichael opened this issue 6 years ago • 0 comments

Album de Músicas

Implemente um sistema de registro de músicas, artistas e álbuns.

Introdução

  • Um álbum tem nome e ano como propriedades;
  • Uma música tem nome e duração em segundos como propriedades;
  • Uma música pode retornar a duração formatada em minutos:segundos;
  • Um álbum tem várias músicas;
  • Um artista tem nome e várias músicas;
  • Uma música tem vários artistas;
  • Um artista tem vários álbuns através das músicas;
  • Um álbum tem vários artistas através das músicas;

Exemplo Considere que você tenha os seguintes objetos:

  • album = Album(nome: 'Bar Das Coleguinhas', ano: 2015)
  • simone = Artista(nome: 'Simone')
  • simaria = Artista(nome: 'Simaria')
  • musica_meu_violao = Musica(nome: 'Meu Violão e Nosso Cachorro', segundos: 209)
  • musica_ingratidao = Musica(nome: 'Ingratidão', segundos: 201)

Considere que você tenha chamado os seguintes métodos:

  • album.incluir(musica_meu_violao)
  • album.incluir(musica_ingratidao)
  • musica_meu_violao.incluir(simone)
  • musica_meu_violao.incluir(simaria)
  • musica_ingratidao.incluir(simone)
  • musica_ingratidao.incluir(simaria)
Método Retorno
album.musicas [musica_meu_violao, musica_ingratidao]
album.artistas [simone, simaria]
musica_meu_violao.albuns [album]
musica_ingratidao.albuns [album]
musica_meu_violao.duracao_em_minutos '3:29'
musica_ingratidao.duracao_em_minutos '3:21'
simone.musicas [musica_meu_violao, musica_ingratidao]
simaria.musicas [musica_meu_violao, musica_ingratidao]

elissonmichael avatar Mar 25 '18 17:03 elissonmichael