static void Main(string[] args) { AbstractObserver Beijing = ConcreteCityObserver.newInstance("Beijing", 8); AbstractObserver London = ConcreteCityObserver.newInstance("London", 0); AbstractObserver Moscow = ConcreteCityObserver.newInstance("Moscow", 4); AbstractObserver Sydney = ConcreteCityObserver.newInstance("Sydney", 10); AbstractObserver NewYork = ConcreteCityObserver.newInstance("NewYork", -5); ConcreteClockSubject clock = ConcreteClockSubject.newInstance(); clock.attach(Beijing); clock.attach(London); clock.attach(Moscow); clock.attach(Sydney); clock.attach(NewYork); clock.setUtcTime(DateTime.Parse("2013-9-2 0:00:00")); Console.WriteLine(); Beijing.adjustTime(clock, DateTime.Parse("2013-9-2 9:00:00")); Console.WriteLine(); London.adjustTime(clock, DateTime.Parse("2013-10-28 0:00:00")); Console.ReadKey(); }
public void adjustTimeText() { List <DateTime> expected = new List <DateTime>(); expected.Add(DateTime.Parse("2013-9-2 9:00:00")); expected.Add(DateTime.Parse("2013-9-2 2:00:00")); expected.Add(DateTime.Parse("2013-9-2 5:00:00")); expected.Add(DateTime.Parse("2013-9-2 11:00:00")); expected.Add(DateTime.Parse("2013-9-1 21:00:00")); Beijing.adjustTime(clock, DateTime.Parse("2013-9-2 9:00:00")); for (int i = 0; i < clock.Observers.Count; i++) { Assert.AreEqual(expected[i], clock.Observers[i].GetTime()); } London.adjustTime(clock, DateTime.Parse("2013-10-28 0:00:00")); }