public void findAddDeleteAndClearTest_nullKey() { var set = new ReferenceSet <Key>(); set.add(new Key()); set.add(new Key()); Assert.Throws <ArgumentNullException>(() => set.add(null)); Assert.Throws <ArgumentNullException>(() => set.find(null)); Assert.Throws <ArgumentNullException>(() => set.delete(null)); }
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); }
private static ReferenceSet <Key> makeSet(Key[] domain, IEnumerable <int> keys) { var set = new ReferenceSet <Key>(); if (keys != null) { foreach (int k in keys) { set.add(domain[k]); } } return(set); }
/// <summary> /// Ensures that the given classes are loaded into the test domain. /// This method is thread safe and has no effect when all the types have already been loaded. /// </summary> /// <param name="types">The types to load as AVM2 native classes and modules into the test domain.</param> public static void ensureClassesLoaded(params Type[] types) { lock (s_lock) { bool isLoaded = true; for (int i = 0; i < types.Length && isLoaded; i++) { isLoaded &= s_loadedClasses.find(types[i]); } if (isLoaded) { return; } s_domain.loadNativeClasses(types); for (int i = 0; i < types.Length; i++) { s_loadedClasses.add(types[i]); } } }
private static void assertSetHasKeys(ReferenceSet <Key> set, Key[] domain, IEnumerable <int> keys) { int keyCount = (keys == null) ? 0 : keys.Count(); Assert.Equal(keyCount, set.count); bool[] keyMap = makeKeyMap(domain.Length, keys); for (int i = 0; i < domain.Length; i++) { if (keyMap[i]) { Assert.True(set.find(domain[i])); Assert.False(set.add(domain[i])); } else { Assert.False(set.find(domain[i])); Assert.False(set.delete(domain[i])); } } Assert.Equal(keyCount, set.count); }