Exemplo n.º 1
0
        public void RemoveLast()
        {
            var enumerator = new ThemeDeletersEnumerator(new ThemeDeletersEnumerator.IndexInfo[] { new ThemeDeletersEnumerator.IndexInfo(new HashSet <int>(new int[] { 0 })) });

            enumerator.RemoveAt(0);

            Assert.AreEqual(true, enumerator.IsEmpty());
        }
Exemplo n.º 2
0
        public void Remove()
        {
            var variants = new HashSet <int>(new int[] { 1, 2, 6, 7, 8 });

            var enumerator = new ThemeDeletersEnumerator(new ThemeDeletersEnumerator.IndexInfo[]
            {
                new ThemeDeletersEnumerator.IndexInfo(4),
                new ThemeDeletersEnumerator.IndexInfo(0),
                new ThemeDeletersEnumerator.IndexInfo(3),
                new ThemeDeletersEnumerator.IndexInfo(variants),
                new ThemeDeletersEnumerator.IndexInfo(variants),
                new ThemeDeletersEnumerator.IndexInfo(variants),
                new ThemeDeletersEnumerator.IndexInfo(variants),
                new ThemeDeletersEnumerator.IndexInfo(variants),
                new ThemeDeletersEnumerator.IndexInfo(5)
            });

            enumerator.RemoveAt(1);

            var newVariants = new HashSet <int>(new int[] { 1, 5, 6, 7 });

            enumerator.Reset(false);
            enumerator.MoveNext();
            Assert.AreEqual(3, enumerator.Current.PlayerIndex);
            enumerator.MoveNext();
            Assert.AreEqual(0, enumerator.Current.PlayerIndex);
            enumerator.MoveNext();
            Assert.AreEqual(2, enumerator.Current.PlayerIndex);
            enumerator.MoveNext();
            Assert.AreEqual(-1, enumerator.Current.PlayerIndex);
            Assert.AreEqual(newVariants, enumerator.Current.PossibleIndicies);
            enumerator.MoveNext();
            Assert.AreEqual(-1, enumerator.Current.PlayerIndex);
            Assert.AreEqual(newVariants, enumerator.Current.PossibleIndicies);
            enumerator.MoveNext();
            Assert.AreEqual(-1, enumerator.Current.PlayerIndex);
            Assert.AreEqual(newVariants, enumerator.Current.PossibleIndicies);
            enumerator.MoveNext();
            Assert.AreEqual(-1, enumerator.Current.PlayerIndex);
            Assert.AreEqual(newVariants, enumerator.Current.PossibleIndicies);
            enumerator.MoveNext();
            Assert.AreEqual(4, enumerator.Current.PlayerIndex);

            Assert.IsFalse(enumerator.MoveNext());
        }
Exemplo n.º 3
0
        public void RemoveNew()
        {
            var variants    = new HashSet <int>(new int[] { 4 });
            var newVariants = new HashSet <int>(new int[] { 3 });

            var enumerator = new ThemeDeletersEnumerator(new []
            {
                new ThemeDeletersEnumerator.IndexInfo(1),
                new ThemeDeletersEnumerator.IndexInfo(0),
                new ThemeDeletersEnumerator.IndexInfo(2),
                new ThemeDeletersEnumerator.IndexInfo(variants)
            });

            enumerator.RemoveAt(3);

            enumerator.Reset(false);
            enumerator.MoveNext();
            enumerator.MoveNext();
            enumerator.MoveNext();
            enumerator.MoveNext();
            Assert.AreEqual(newVariants, enumerator.Current.PossibleIndicies);
        }