public void TestGetColumnsListIfEnumerableIsNullOrEmpty()
        {
            IColumnsProvider columnsProvider = new EnumerableColumnsProvider(new TypeColumnsProvider());

            Assert.AreEqual(0, columnsProvider.GetColumnsList(null).Count);
            Assert.AreEqual(0, columnsProvider.GetColumnsList(new ArrayList()).Count);
        }
        public void TestGetColumnsList()
        {
            IGenericColumnsProvider <Type> typeColumnsProvider = Substitute.For <IGenericColumnsProvider <Type> >();
            IColumnsProvider columnsProvider = new EnumerableColumnsProvider(typeColumnsProvider);

            columnsProvider.GetColumnsList(columnsProvider.GetColumnsList(new ArrayList {
                new TypeColumnsProviderTest.TestType(), "str"
            }));
            typeColumnsProvider.Received(1).GetColumnsList(typeof(TypeColumnsProviderTest.TestType));

            typeColumnsProvider.ClearReceivedCalls();

            columnsProvider.GetColumnsList(columnsProvider.GetColumnsList(new ArrayList {
                "str", new TypeColumnsProviderTest.TestType()
            }));
            typeColumnsProvider.Received(1).GetColumnsList(typeof(string));
        }