Exemple #1
0
        public void Observe()
        {
            var observed = new Observed();
            var observer = new Observer();

            observed.Observers.Add(observer.ProcessAlert);

            observed.Alert();
            Assert.True(observer.Processed);

            observed.Observers.Remove(observer.ProcessAlert);

            Assert.True(true);
        }
        public void Observe()
        {
            var loggingObserver = new GenLib.Observer.LoggingObserver();

            Assert.False((loggingObserver.Alert(null, null)));

            var observed = new Observed();

            observed.Observers.Add(loggingObserver.Alert);

            // clear out old test
            loggingObserver.CreateDefaultFilename();
            new DirectoryFile().DeleteDirectoryWithFiles(
                new DirectoryFile().GetFullyQualifiedDirectory(loggingObserver.Filename));

            loggingObserver.Open();
            Assert.True((loggingObserver.Alert(this, new ObserverEventArgs
            {
                Arg = string.Empty
            })));
            Console.WriteLine(loggingObserver.Filename);
            const string testMsg = "testMsg";

            observed.Alert(testMsg);
            loggingObserver.Close();

            var sr       = new StreamReader(loggingObserver.Filename);
            var contents = sr.ReadLine();

            sr.Close();
            Assert.Equal(testMsg, contents);

            observed.Observers.Remove(loggingObserver.Alert);

            Assert.True(true);
        }