public void TestIntersectUnionSameLength()
        {
            OrdinalList lista = new OrdinalList(new int[] { 1, 4, 5 });
            OrdinalList listb = new OrdinalList(new int[] { 2, 4, 6 });

            OrdinalList union = lista.UnionWith(listb);
            Assert.AreEqual(5, union.Count);
            foreach (int i in union)
                Assert.IsTrue(lista.Contains(i) || listb.Contains(i));

            OrdinalList inter = lista.IntersectWith(listb);
            Assert.AreEqual(1, inter.Count);
            foreach (int i in inter)
                Assert.AreEqual(4, i);
        }
        public void TestIntersectUnion()
        {
            OrdinalList lista = new OrdinalList(new int[] { 5, 10, 99 });
            OrdinalList listb = new OrdinalList(new int[] { 2, 4, 6, 8, 10 });

            OrdinalList union = lista.UnionWith(listb);
            Assert.AreEqual(7, union.Count);
            foreach (int i in union)
                Assert.IsTrue(lista.Contains(i) || listb.Contains(i));

            OrdinalList inter = lista.IntersectWith(listb);
            Assert.AreEqual(1, inter.Count);
            foreach (int i in inter)
                Assert.AreEqual(10, i);
        }