public void EntrySetCarLocation()
 {
     eProc = new EventProcessor();
     EntryEvent ev = new EntryEvent(new DateTime(2015, 09, 01), parkingBarcelona, newCar);
     eProc.Process(ev);
     Assert.AreEqual(parkingBarcelona, newCar.Parking);
 }
 public void ExitSetCarLocationToNone()
 {
     eProc = new EventProcessor();
     Parking park = new Parking(Parking.NONE);
     ExitEvent ev = new ExitEvent(new DateTime(2015, 09, 01), newCar);
     eProc.Process(ev);
     Assert.AreEqual(park.Name, newCar.Parking.Name);
 }
        public void CheckEventsOnLog()
        {
            eProc = new EventProcessor();
            EntryEvent ev = new EntryEvent(new DateTime(2015, 09, 01), parkingBarcelona, newCar);
            eProc.Process(ev);

            Assert.AreEqual(eProc.Log[0], ev);
        }
        public void CheckEventOcurredTime()
        {
            eProc = new EventProcessor();
            DateTime ocurred = new DateTime(2015, 09, 01);
            EntryEvent ev = new EntryEvent(ocurred, parkingBarcelona, newCar);
            eProc.Process(ev);

            Assert.AreEqual(ocurred, ev.Ocurred);
        }
        public void RestoreApplicationToCertainEvent()
        {
            eProc = new EventProcessor();
            IList<DomainEvent> log = new List<DomainEvent>()
            {
                new EntryEvent(new DateTime(2015, 08, 01), parkingBarcelona, newCar),
                new ExitEvent(new DateTime(2015, 09, 01), newCar),
                new EntryEvent(new DateTime(2015, 09, 01), parkingParis, oldCar),
                new ExitEvent(new DateTime(2015, 09, 01), oldCar)
            };

            AppRepairer appRepairer = new AppRepairer(log, eProc);

            appRepairer.RepairApplication();

            Assert.IsTrue(log.SequenceEqual(eProc.Log));
        }
예제 #6
0
 public AppRepairer(IList<DomainEvent> log, EventProcessor eventProcessor)
 {
     this.log = log;
     this.eventProcessor = eventProcessor;
 }