internal static void Validar(FaseDeGrupo faseGrupo)
 {
     if (faseGrupo.GrupoA == null || faseGrupo.GrupoA.Count != QUANTIDADE_FASE_GRUPO)
     {
         throw new ArgumentException(nameof(faseGrupo.GrupoA), $"O {nameof(faseGrupo.GrupoA)} gerado incorreto");
     }
     if (faseGrupo.GrupoB == null || faseGrupo.GrupoB.Count != QUANTIDADE_FASE_GRUPO)
     {
         throw new ArgumentException(nameof(faseGrupo.GrupoB), $"O {nameof(faseGrupo.GrupoB)} gerado incorreto");
     }
     if (faseGrupo.GrupoC == null || faseGrupo.GrupoC.Count != QUANTIDADE_FASE_GRUPO)
     {
         throw new ArgumentException(nameof(faseGrupo.GrupoC), $"O {nameof(faseGrupo.GrupoC)} gerado incorreto");
     }
     if (faseGrupo.GrupoD == null || faseGrupo.GrupoD.Count != QUANTIDADE_FASE_GRUPO)
     {
         throw new ArgumentException(nameof(faseGrupo.GrupoD), $"O {nameof(faseGrupo.GrupoD)} gerado incorreto");
     }
 }
        public void GerarFaseDeGrupoTest()
        {
            var faseGrupo = FaseDeGrupo.GerarFaseDeGrupo(listaFilmes);

            Assert.IsTrue(faseGrupo?.GrupoA?.Count == 4);
            var maiorValorGrupoA = faseGrupo.GrupoA.Max(elem => Math.Max(elem.SetAvageRatingDecimal, elem.SetAvageRatingDecimal));

            Assert.AreEqual(maiorValorGrupoA, faseGrupo.GrupoA.FirstOrDefault().SetAvageRatingDecimal);

            Assert.IsTrue(faseGrupo?.GrupoB?.Count == 4);
            var maiorValorGrupoB = faseGrupo.GrupoB.Max(elem => Math.Max(elem.SetAvageRatingDecimal, elem.SetAvageRatingDecimal));

            Assert.AreEqual(maiorValorGrupoB, faseGrupo.GrupoB.FirstOrDefault().SetAvageRatingDecimal);

            Assert.IsTrue(faseGrupo?.GrupoC?.Count == 4);
            var maiorValorGrupoC = faseGrupo.GrupoC.Max(elem => Math.Max(elem.SetAvageRatingDecimal, elem.SetAvageRatingDecimal));

            Assert.AreEqual(maiorValorGrupoC, faseGrupo.GrupoC.FirstOrDefault().SetAvageRatingDecimal);

            Assert.IsTrue(faseGrupo?.GrupoD?.Count == 4);
            var maiorValorGrupoD = faseGrupo.GrupoD.Max(elem => Math.Max(elem.SetAvageRatingDecimal, elem.SetAvageRatingDecimal));

            Assert.AreEqual(maiorValorGrupoD, faseGrupo.GrupoD.FirstOrDefault().SetAvageRatingDecimal);
        }