Example #1
0
        public async SystemTasks.Task TestCustomLogger()
        {
            CustomLogger  logger = new CustomLogger();
            Configuration config = Configuration.Create().WithVerbosityEnabled();

            ICoyoteRuntime runtime = RuntimeFactory.Create(config);

            runtime.SetLogger(logger);

            Generator generator = Generator.Create();

            Task task = Task.Run(() =>
            {
                int result = generator.NextInteger(10);
                logger.WriteLine($"Task '{Task.CurrentId}' completed with result '{result}'.");
            });

            await task;

            string expected = @"<RandomLog> Task '' nondeterministically chose ''. Task '' completed with result ''.";
            string actual   = RemoveNonDeterministicValuesFromReport(logger.ToString());

            Assert.Equal(expected, actual);

            logger.Dispose();
        }