//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldNotFilterWhenNothingToFilter() throws java.io.IOException
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldNotFilterWhenNothingToFilter()
        {
            string[] strings = new string[] { "a", "b", "c" };

            IOCursor <string>          @delegate = new ArrayIOCursor <string>(strings);
            FilteringIOCursor <string> cursor    = new FilteringIOCursor <string>(@delegate, alwaysTrue());

            assertEquals(asList(strings), ExtractCursorContent(cursor));
        }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldFilterLastObject() throws java.io.IOException
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldFilterLastObject()
        {
            string[] strings = new string[] { "a", "b", "c" };

            IOCursor <string>          @delegate = new ArrayIOCursor <string>(strings);
            FilteringIOCursor <string> cursor    = new FilteringIOCursor <string>(@delegate, not(@in("c")));

            assertEquals(Exclude(asList(strings), "c"), ExtractCursorContent(cursor));
        }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: private <T> java.util.List<T> extractCursorContent(FilteringIOCursor<T> cursor) throws java.io.IOException
        private IList <T> ExtractCursorContent <T>(FilteringIOCursor <T> cursor)
        {
            IList <T> list = new List <T>();

            while (cursor.Next())
            {
                list.Add(cursor.Get());
            }

            return(list);
        }