public void TesteRetornarIndexElementoComUmSubIndice()
        {
            var hc = new HoplonCollection();

            Assert.IsTrue(hc.Add("nomes", 1980, "Carlos"));
            Assert.IsTrue(hc.Add("nomes", 1980, "Willian"));
            Assert.IsTrue(hc.Add("nomes", 1980, "Cristiano"));
            Assert.IsTrue(hc.Add("nomes", 1980, "Cristiano Craujo"));
            Assert.IsTrue(hc.Add("nomes", 1980, "Cristiano Braujo"));
            Assert.IsTrue(hc.Add("nomes", 1980, "Cristiano Araujo"));

            var retorno = hc.Get("nomes", 0, 0);

            // nao esquecer de considerar a ordenação.
            Assert.AreEqual(hc.IndexOf("nomes", "willian"), 5);
            Assert.AreEqual(hc.IndexOf("nomes", "Cristiano Araujo"), 2);
            Assert.AreEqual(hc.IndexOf("nomes", "carlos"), 0);
        }
        public void TesteRetornarIndexElementoComMaisDeUmSubIndice()
        {
            var hc = new HoplonCollection();

            Assert.IsTrue(hc.Add("nomes", 1980, "Carlos"));
            Assert.IsTrue(hc.Add("nomes", 1980, "Willian"));
            Assert.IsTrue(hc.Add("nomes", 1980, "Cristiano"));
            Assert.IsTrue(hc.Add("nomes", 1980, "Cristiano Craujo"));
            Assert.IsTrue(hc.Add("nomes", 1980, "Cristiano Braujo"));
            Assert.IsTrue(hc.Add("nomes", 1980, "Cristiano Araujo"));

            Assert.IsTrue(hc.Add("nomes", 2000, "Fusca"));
            Assert.IsTrue(hc.Add("nomes", 2000, "Gol"));
            Assert.IsTrue(hc.Add("nomes", 2000, "Opala"));

            Assert.IsTrue(hc.Add("nomes", 8885, "Futebol"));
            Assert.IsTrue(hc.Add("nomes", 8885, "gude"));
            Assert.IsTrue(hc.Add("nomes", 8885, "ping pong"));

            Assert.AreEqual(hc.IndexOf("nomes", "Fusca"), 6);
            Assert.AreEqual(hc.IndexOf("nomes", "ping Pong"), 11);
            Assert.AreEqual(hc.IndexOf("nomes", "carlos"), 0);
        }