public void TestOffer()
        {
            LinkedBlockingDeque <String> q = new LinkedBlockingDeque <String>(1);

            Assert.IsTrue(q.Offer(zero));
            Assert.IsFalse(q.Offer(one));
        }
 public void TestAddAllSelf()
 {
     try
     {
         LinkedBlockingDeque <String> q = PopulatedDeque(SIZE);
         q.AddAll(q);
         ShouldThrow();
     }
     catch (ArgumentException) {}
 }
 public void TestOfferNull()
 {
     try
     {
         LinkedBlockingDeque <String> q = new LinkedBlockingDeque <String>();
         q.Offer(null);
         ShouldThrow();
     }
     catch (NullReferenceException) {}
 }
 public void TestAddAll1()
 {
     try
     {
         LinkedBlockingDeque <String> q = new LinkedBlockingDeque <String>(1);
         q.AddAll(null);
         ShouldThrow();
     }
     catch (NullReferenceException) {}
 }
        public void TestEmptyFull()
        {
            LinkedBlockingDeque <String> q = new LinkedBlockingDeque <String>(2);

            Assert.IsTrue(q.IsEmpty());
            Assert.AreEqual(2, q.RemainingCapacity(), "should have room for 2");
            q.Add(one);
            Assert.IsFalse(q.IsEmpty());
            q.Add(two);
            Assert.IsFalse(q.IsEmpty());
            Assert.AreEqual(0, q.RemainingCapacity());
            Assert.IsFalse(q.Offer(three));
        }
 public void TestAddAll2()
 {
     try
     {
         LinkedBlockingDeque <String> q       = new LinkedBlockingDeque <String>(SIZE);
         ArrayList <String>           strings = new ArrayList <String>();
         strings.Add(null);
         strings.Add(null);
         strings.Add(null);
         q.AddAll(strings);
         ShouldThrow();
     }
     catch (NullReferenceException) {}
 }
        private LinkedBlockingDeque <String> PopulatedDeque(int n)
        {
            LinkedBlockingDeque <String> q = new LinkedBlockingDeque <String>(n);

            Assert.IsTrue(q.IsEmpty());
            for (int i = 0; i < n; i++)
            {
                Assert.IsTrue(q.Offer(i.ToString()));
            }
            Assert.IsFalse(q.IsEmpty());
            Assert.AreEqual(0, q.RemainingCapacity());
            Assert.AreEqual(n, q.Size());
            return(q);
        }
        public void TestConstructor6()
        {
            ArrayList <String> strings = new ArrayList <String>();

            for (int i = 0; i < SIZE; ++i)
            {
                strings.Add(i.ToString());
            }
            LinkedBlockingDeque <String> q = new LinkedBlockingDeque <String>(strings);

            for (int i = 0; i < SIZE; ++i)
            {
                Assert.AreEqual(strings.Get(i), q.Poll());
            }
        }
 public void TestAddAll4()
 {
     try
     {
         LinkedBlockingDeque <String> q       = new LinkedBlockingDeque <String>(1);
         ArrayList <String>           strings = new ArrayList <String>();
         for (int i = 0; i < SIZE - 1; ++i)
         {
             strings.Add(i.ToString());
         }
         q.AddAll(strings);
         ShouldThrow();
     }
     catch (IllegalStateException) {}
 }
 public void TestAdd()
 {
     try
     {
         LinkedBlockingDeque <String> q = new LinkedBlockingDeque <String>(SIZE);
         for (int i = 0; i < SIZE; ++i)
         {
             Assert.IsTrue(q.Add(i.ToString()));
         }
         Assert.AreEqual(0, q.RemainingCapacity());
         q.Add(SIZE.ToString());
     }
     catch (IllegalStateException)
     {
     }
 }
Beispiel #11
0
            public AbstractItr(LinkedBlockingDeque <E> parent)
            {
                this.parent = parent;

                // set to initial position
                parent.mutex.Lock();
                try
                {
                    next     = FirstNode();
                    nextItem = (next == null) ? null : next.item;
                }
                finally
                {
                    parent.mutex.UnLock();
                }
            }
 public void TestPutNull()
 {
     try
     {
         LinkedBlockingDeque <String> q = new LinkedBlockingDeque <String>(SIZE);
         q.Put(null);
         ShouldThrow();
     }
     catch (NullReferenceException)
     {
     }
     catch (Exception)
     {
         UnexpectedException();
     }
 }
 public void TestAddAll3()
 {
     try
     {
         LinkedBlockingDeque <String> q       = new LinkedBlockingDeque <String>(SIZE);
         ArrayList <String>           strings = new ArrayList <String>();
         for (int i = 0; i < SIZE - 1; ++i)
         {
             strings.Add(i.ToString());
         }
         strings.Add(null);
         q.AddAll(strings);
         ShouldThrow();
     }
     catch (NullReferenceException) {}
 }
 public void TestPut()
 {
     try
     {
         LinkedBlockingDeque <String> q = new LinkedBlockingDeque <String>(SIZE);
         for (int i = 0; i < SIZE; ++i)
         {
             q.Put(i.ToString());
             Assert.IsTrue(q.Contains(i.ToString()));
         }
         Assert.AreEqual(0, q.RemainingCapacity());
     }
     catch (Exception)
     {
         UnexpectedException();
     }
 }
        public void TestRemainingCapacity()
        {
            LinkedBlockingDeque <String> q = PopulatedDeque(SIZE);

            for (int i = 0; i < SIZE; ++i)
            {
                Assert.AreEqual(i, q.RemainingCapacity());
                Assert.AreEqual(SIZE - i, q.Size());
                q.Remove();
            }
            for (int i = 0; i < SIZE; ++i)
            {
                Assert.AreEqual(SIZE - i, q.RemainingCapacity());
                Assert.AreEqual(i, q.Size());
                q.Add(i.ToString());
            }
        }
        public void TestAddAll5()
        {
            ArrayList <String> empty   = new ArrayList <String>();
            ArrayList <String> strings = new ArrayList <String>(SIZE);

            for (int i = 0; i < SIZE; ++i)
            {
                strings.Add(i.ToString());
            }
            LinkedBlockingDeque <String> q = new LinkedBlockingDeque <String>(SIZE);

            Assert.IsFalse(q.AddAll(empty));
            Assert.IsTrue(q.AddAll(strings));
            for (int i = 0; i < SIZE; ++i)
            {
                Assert.AreEqual(strings.Get(i), q.Poll());
            }
        }
Beispiel #17
0
 public DescendingItr(LinkedBlockingDeque <E> parent) : base(parent)
 {
 }
Beispiel #18
0
 public Itr(LinkedBlockingDeque <E> parent) : base(parent)
 {
 }