Beispiel #1
0
        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));
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        /// <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]);
                }
            }
        }