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 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); }
/// <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]); } } }