コード例 #1
0
        public void TestSumaDuplicada()
        {
            var lp = new ListaPeso <int> ();

            for (int i = 0; i < 100; i++)
            {
                lp [i] = 1;
            }
            var lp2 = new ListaPeso <int> ();

            lp2 [3] = 1;
            ListaPeso <int> sumado = lp + lp2;

            // Probar que ni lp ni lp2 han cambiado y que sumado vale lo que debe
            for (int i = 0; i < 100; i++)
            {
                Assert.AreEqual(1, lp [i]);
                Assert.AreEqual(i == 3 ? 1 : 0, lp2 [i]);
                Assert.AreEqual(i == 3 ? 2 : 1, sumado [i]);
            }

            ListaPeso <int> mult = sumado * 2f;

            // Probar que ni lp ni lp2 han cambiado y que sumado vale lo que debe
            for (int i = 0; i < 100; i++)
            {
                Assert.AreEqual(1, lp [i]);
                Assert.AreEqual(i == 3 ? 1 : 0, lp2 [i]);
                Assert.AreEqual(i == 3 ? 2 : 1, sumado [i]);
                Assert.AreEqual(i == 3 ? 4 : 2, mult [i]);
            }
        }
コード例 #2
0
ファイル: TestSerial.cs プロジェクト: karv/ListaExtras
 public void TestListaPeso()
 {
     var rr = new ListaPeso<int> ();
     for (int i = 0; i < 5000; i++)
         rr [i] = i;
     Store.BinarySerialization.WriteToBinaryFile ("SomeDictionary.bin", rr);
     var rrClone = Store.BinarySerialization.ReadFromBinaryFile <ListaPeso<int>> ("SomeDictionary.bin");
     Assert.False (ReferenceEquals (rr, rrClone));
     Assert.True (rr.Equals (rrClone));
 }
コード例 #3
0
ファイル: TestSerial.cs プロジェクト: karv/ListaExtras
        public void TestListaPeso()
        {
            var rr = new ListaPeso <int> ();

            for (int i = 0; i < 5000; i++)
            {
                rr [i] = i;
            }
            Store.BinarySerialization.WriteToBinaryFile("SomeDictionary.bin", rr);
            var rrClone = Store.BinarySerialization.ReadFromBinaryFile <ListaPeso <int> > ("SomeDictionary.bin");

            Assert.False(ReferenceEquals(rr, rrClone));
            Assert.True(rr.Equals(rrClone));
        }
コード例 #4
0
        public void AsignaNuevaKey()
        {
            var  cl     = new ListaPeso <WeirdInt> ();
            bool invoca = false;

            cl.AlAgregarEntrada += delegate(object sender,
                                            CambioElementoEventArgs <WeirdInt, float> e)
            {
                Assert.AreEqual(e.Key.Valor, 0);
                invoca = true;
            };
            cl [0] = 1;
            Assert.True(invoca);
        }
コード例 #5
0
        public void TestAccess()
        {
            var cl = new ListaPeso <WeirdInt> ();

            cl [0] = 3;
            var tres = cl [0];

            Assert.AreEqual(3, tres);

            var cl2 = new ListaPesoFloat <WeirdInt, WeirdInt> ();

            cl2 [0, 0] = 3;
            tres       = cl2 [0, 0];
            Assert.AreEqual(3, tres);
        }
コード例 #6
0
        public void TestCase()
        {
            var lp = new ListaPeso <int> ();

            for (int i = 0; i < 100; i++)
            {
                lp [i] = 99 - i;
            }
            Console.WriteLine(lp);
            lp.AlCambiarValor += (sender, e) =>
                                 Console.WriteLine(string.Format(
                                                       "lp[{0}] cambió de {1} a {2}",
                                                       e.Key,
                                                       e.Previo,
                                                       e.NuevoValor));
            lp [1] = 98;
        }
コード例 #7
0
        public void VecesContención()
        {
            var lp = new ListaPeso <int> ();

            lp [0] = 12;
            lp [1] = 10;

            Assert.AreEqual(1, lp.VecesContenidoEn(lp));
            Assert.AreEqual(1, lp.VecesConteniendoA(lp));

            var otro = new ListaPeso <int> ();

            otro [0] = 6;
            Assert.AreEqual(2, otro.VecesContenidoEn(lp));
            Assert.AreEqual(2, lp.VecesConteniendoA(otro));
            otro [0] = 18;
            otro [1] = 10;
            otro [2] = 3;
            Assert.AreEqual(0.666666666f, otro.VecesContenidoEn(lp), 0.01f);
            Assert.AreEqual(1, otro.VecesConteniendoA(lp));
        }