public void TestNonGenricEnumerator()
        {
            TextLoggingService service = GetLogsService();

            ClearTestLogDirectory(service);

            Tuple <Foobar, BarredFoo> objects = CreateObjects();

            service.LogMessage("Logging object 1", objects.Item1, LogLevel.Debug, "Foobar log");
            service.LogMessage("Logging object 2", objects.Item2, LogLevel.Debug, "BarredFoo log");
            ILogBaseEnumerable collection = service.GetLogs();

            LogBase[] logs  = collection.ToArray();
            int       index = 0;

            foreach (LogBase log in ((IEnumerable)collection))
            {
                Assert.Equal(log, logs[index]);
                index++;
            }
            int collectionCount = collection.Count();

            Assert.Equal(2, collectionCount);

            index = 0;
            foreach (LogBase log in ((IEnumerable)collection))
            {
                Assert.Equal(log, logs[index]);
                index++;
            }

            ClearTestLogDirectory(service);
        }
        public void GetLogsTest()
        {
            Mock <ILogBaseEnumerable> logsProxy      = new Mock <ILogBaseEnumerable>(MockBehavior.Strict);
            ILogBaseEnumerable        logs           = logsProxy.Object;
            Mock <ILoggingService>    loggingService = new Mock <ILoggingService>(MockBehavior.Strict);

            loggingService.Setup(x => x.GetLogs()).Returns(logs);
            ILogBaseEnumerable result = loggingService.Object.GetLogs();

            Assert.NotNull(result);
            // use strict equal to do a pointer comparison
            Assert.StrictEqual(logs, result);
        }
        public void TestBasicEnumeration()
        {
            CacheLoggingService       service = GetLogsService();
            Tuple <Foobar, BarredFoo> objects = CreateObjects();

            service.LogMessage("Logging object 1", objects.Item1, LogLevel.Debug, "Foobar log");
            service.LogMessage("Logging object 2", objects.Item2, LogLevel.Debug, "BarredFoo log");
            ILogBaseEnumerable collection = service.GetLogs();

            Assert.NotEmpty(collection);
            foreach (LogBase log in collection)
            {
                Assert.NotNull(log);
            }
            int collectionCount = collection.Count();

            Assert.Equal(2, collectionCount);
        }
 /// <param name="source">The source that the enumerable should represent</param>
 public TestCacheLogBaseEnumerable(ILogBaseEnumerable source)
     : base(source)
 {
 }
 /// <param name="source">The source that the enumerable should represent</param>
 public TextLogBaseEnumerable(ILogBaseEnumerable source)
     : base(source)
 {
 }
 /// <param name="source">The source that the enumerable should represent</param>
 public LogBaseEnumerableBase(ILogBaseEnumerable source)
 {
     Source = source;
 }