Exemplo n.º 1
0
        public void unionAndIntersectWithTest_nullArg()
        {
            ReferenceSet <Key> set = new ReferenceSet <Key>();

            Assert.Throws <ArgumentNullException>(() => set.unionWith(null));
            Assert.Throws <ArgumentNullException>(() => set.intersectWith(null));
        }
Exemplo n.º 2
0
        private static bool runCommand(ref ReferenceSet <Key> set, Key[] domain, Command cmd)
        {
            switch (cmd.type)
            {
            case CmdType.CREATE:
                set = new ReferenceSet <Key>((int)cmd.arg);
                break;

            case CmdType.ADD:
                return(set.add(domain[(int)cmd.arg]));

            case CmdType.DEL:
                return(set.delete(domain[(int)cmd.arg]));

            case CmdType.CLEAR:
                set.clear();
                break;

            case CmdType.UNION:
                set.unionWith(makeSet(domain, (IEnumerable <int>)cmd.arg));
                break;

            case CmdType.INTERSECT:
                set.intersectWith(makeSet(domain, (IEnumerable <int>)cmd.arg));
                break;
            }
            return(true);
        }
Exemplo n.º 3
0
        public void unionAndIntersectWithTest_selfArg()
        {
            Key[] domain = makeKeys(30);
            ReferenceSet <Key> set;

            set = new ReferenceSet <Key>();
            set.unionWith(set);
            assertSetHasKeys(set, domain, Enumerable.Empty <int>());
            set.intersectWith(set);
            assertSetHasKeys(set, domain, Enumerable.Empty <int>());

            set = makeSet(domain, new[] { 1, 4, 5, 9, 11, 15, 17, 22, 23, 28 });
            set.unionWith(set);
            assertSetHasKeys(set, domain, new[] { 1, 4, 5, 9, 11, 15, 17, 22, 23, 28 });
            set.intersectWith(set);
            assertSetHasKeys(set, domain, new[] { 1, 4, 5, 9, 11, 15, 17, 22, 23, 28 });
        }