예제 #1
0
        public void MoveNext_returns_true_for_true_bits_and_false_when_end_is_reached()
        {
            var enumerator = new VarVec.VarVecEnumerator(CreateVarVec(1));

            Assert.True(enumerator.MoveNext());
            Assert.False(enumerator.MoveNext());
        }
예제 #2
0
 internal virtual void ReleaseVarVecEnumerator(VarVec.VarVecEnumerator enumerator)
 {
     if (this.m_disableVarVecEnumCaching)
     {
         return;
     }
     this.m_freeVarVecEnumerators.Push(enumerator);
 }
예제 #3
0
        public void Current_returns_the_var_at_the_current_position_or_null_if_position_is_outside_array()
        {
            var enumerator = new VarVec.VarVecEnumerator(CreateVarVec(1));

            Assert.Null(enumerator.Current);
            enumerator.MoveNext();
            Assert.Equal(1, enumerator.Current.Id);
            enumerator.MoveNext();
            Assert.Null(enumerator.Current);
        }
예제 #4
0
 internal virtual VarVec.VarVecEnumerator GetVarVecEnumerator(VarVec vec)
 {
     VarVec.VarVecEnumerator varVecEnumerator;
     if (this.m_disableVarVecEnumCaching || this.m_freeVarVecEnumerators.Count == 0)
     {
         varVecEnumerator = new VarVec.VarVecEnumerator(vec);
     }
     else
     {
         varVecEnumerator = this.m_freeVarVecEnumerators.Pop();
         varVecEnumerator.Init(vec);
     }
     return(varVecEnumerator);
 }