public void WriteMessageWillWriteCorrectMessageToMessageWriter()
        {
            var writer = new SpyMessageWriter();
            var softwareUnderTesting = new Salution(writer);

            softwareUnderTesting.WriteMessage();
            Assert.Equal(expected: "Hello DI!", actual: writer.WrittenMessage);
        }
Beispiel #2
0
        static void Main()
        {
            #region Late Binding
            //string directory = Directory.GetCurrentDirectory();
            //IConfigurationRoot configuration = new ConfigurationBuilder()
            //    .SetBasePath(Directory.GetCurrentDirectory())
            //    .AddJsonFile("appsettings.json")
            //    .Build();

            //string typename = configuration["messageWriter"];
            //Type type = Type.GetType(typename, throwOnError: true);

            //IMessageWriter writer = (IMessageWriter)Activator.CreateInstance(type);
            #endregion

            #region Extensibility using the decorator pattern that is enabled by using DI
            //IMessageWriter writer = new SecureMessageWriter(new ConsoleMessageWriter(), WindowsIdentity.GetCurrent());
            #endregion

            IMessageWriter writer   = new ConsoleMessageWriter();
            var            salution = new Salution(writer);
            salution.WriteMessage();
            //WriteLine("Hello World!");
        }