示例#1
0
        public async Task Async_Long_IsOrdered()
        {
            var testableLogger   = new TestableLogger();
            var containerManager = new TestContainerManager(
                container => {
                var settingsServiceRegistration = Lifestyle.Singleton.CreateRegistration(() => testableLogger, container);
                container.RegisterConditional(typeof(ILogger), settingsServiceRegistration, pc => !pc.Handled);
            });
            var factory         = containerManager.Container.GetInstance <ReceivedFactory>();
            var pipelineManager = containerManager.Container.GetInstance <IPipelineManager>();
            var data            = new List <IReceived <IUser, ITransmittable> > {
                factory.ModPublicReceivedMessage("!long"),
                factory.ModPublicReceivedMessage("!long"),
                factory.ModPublicReceivedMessage("!long"),
            };

            data.ForEach(x => pipelineManager.Enqueue(x));

            await Task.Delay(15000);

            var results = testableLogger.Outbox.Where(s => s == "#1" || s == "#2" || s == "#3").ToList();

            Assert.AreEqual(9, results.Count);
            var alphabetized = results.OrderBy(q => q).ToList();

            Assert.IsTrue(results.SequenceEqual(alphabetized));
        }
示例#2
0
        private static TestableLogger _createFullyPopulatedTestableLogger()
        {
            var testableLogger = new TestableLogger();

            testableLogger.LogDebug(Debug);
            testableLogger.LogInformation(Information);
            testableLogger.LogWarning(Warning);
            testableLogger.LogError(Error);
            testableLogger.LogFatal(Fatal);
            return(testableLogger);
        }