Beispiel #1
0
        /// <summary>
        /// generate a mock object that looks like EventLog, and return it
        /// </summary>
        /// <returns>a mock of Eventlog</returns>
        public static Implementation<EventLog> GetEventLogMock()
        {
            Implementation<EventLog> mock = new Implementation<EventLog>();

               mock.Register("get_Source")
                  .Execute(() =>
                  {
                      // we don't care about the Source property for testing purposes
                      return String.Empty;
                  });

            mock.Register("set_Source")
                    .Execute((string theValue) =>
                    {
                        // we don't care about the Source property for testing purposes
                    });

            mock.Register(instance => instance.WriteEvent(Argument<EventInstance>.Any, Argument<object[]>.Any))
                .Execute((EventInstance eventInstance, object[] args) =>
                {
                    mockLogEntries.Add(
                            new Tuple<int, EventLogEntryType, long, string>
                            (
                                eventInstance.CategoryId,
                                eventInstance.EntryType,
                                eventInstance.InstanceId,
                                args.Aggregate((a, b) => string.Format("{0}\r\n\r\n{1}", a, b)).ToString()
                            )
                        );
                });

            return mock;
        }