public void InstallWorksAsExpectedWithMappers()
        {
            // --- Arrange
            const string LOG1 = "_myLog1";
            const string LOG2 = "_myLog2";

            if (EventLog.Exists(LOG1 + "L"))
            {
                EventLog.Delete(LOG1);
            }
            if (EventLog.Exists(LOG2 + "L"))
            {
                EventLog.Delete(LOG2);
            }
            var data   = new EventLogCreationData();
            var mapper = new DummyNameMapper();

            data.Add(LOG1, "Source1", mapper, mapper);
            data.Add(LOG1, "Source2", mapper, mapper);
            data.Add(LOG2, "Source3", mapper, mapper);
            data.Add(LOG2, "Source4", mapper, mapper);

            // --- Act
            var result = WindowsEventLogManager.InstallEventLogSources(data);

            // --- Assert
            result.Errors.ShouldHaveCountOf(0);
            result.AffectedSources.ShouldHaveCountOf(2);
            result.AffectedSources[LOG1 + "L"].ShouldHaveCountOf(2);
            result.AffectedSources[LOG1 + "L"].ShouldContain("Source1L");
            result.AffectedSources[LOG1 + "L"].ShouldContain("Source2L");
            result.AffectedSources[LOG2 + "L"].ShouldHaveCountOf(2);
            result.AffectedSources[LOG2 + "L"].ShouldContain("Source3L");
            result.AffectedSources[LOG2 + "L"].ShouldContain("Source4L");

            EventLog.LogNameFromSourceName("Source1L", ".").ShouldEqual(LOG1 + "L");
            EventLog.LogNameFromSourceName("Source2L", ".").ShouldEqual(LOG1 + "L");
            EventLog.LogNameFromSourceName("Source3L", ".").ShouldEqual(LOG2 + "L");
            EventLog.LogNameFromSourceName("Source4L", ".").ShouldEqual(LOG2 + "L");
        }
        public void InstallWorksAsExpectedWithMappers()
        {
            // --- Arrange
            const string LOG1 = "_myLog1";
            const string LOG2 = "_myLog2";
            if (EventLog.Exists(LOG1 + "L")) EventLog.Delete(LOG1);
            if (EventLog.Exists(LOG2 + "L")) EventLog.Delete(LOG2);
            var data = new EventLogCreationData();
            var mapper = new DummyNameMapper();
            data.Add(LOG1, "Source1", mapper, mapper);
            data.Add(LOG1, "Source2", mapper, mapper);
            data.Add(LOG2, "Source3", mapper, mapper);
            data.Add(LOG2, "Source4", mapper, mapper);

            // --- Act
            var result = WindowsEventLogManager.InstallEventLogSources(data);

            // --- Assert
            result.Errors.ShouldHaveCountOf(0);
            result.AffectedSources.ShouldHaveCountOf(2);
            result.AffectedSources[LOG1 + "L"].ShouldHaveCountOf(2);
            result.AffectedSources[LOG1 + "L"].ShouldContain("Source1L");
            result.AffectedSources[LOG1 + "L"].ShouldContain("Source2L");
            result.AffectedSources[LOG2 + "L"].ShouldHaveCountOf(2);
            result.AffectedSources[LOG2 + "L"].ShouldContain("Source3L");
            result.AffectedSources[LOG2 + "L"].ShouldContain("Source4L");

            EventLog.LogNameFromSourceName("Source1L", ".").ShouldEqual(LOG1 + "L");
            EventLog.LogNameFromSourceName("Source2L", ".").ShouldEqual(LOG1 + "L");
            EventLog.LogNameFromSourceName("Source3L", ".").ShouldEqual(LOG2 + "L");
            EventLog.LogNameFromSourceName("Source4L", ".").ShouldEqual(LOG2 + "L");
        }