protected EventWebServicesTests(string baseUri)
        {
            if (string.IsNullOrWhiteSpace(baseUri)) throw new ArgumentNullException(nameof(baseUri));
            if (!Uri.IsWellFormedUriString(baseUri, UriKind.RelativeOrAbsolute)) throw new FormatException("baseUri");

            var rndGenerator = new RandomGenerator();
            GuidKeyGenerator = new SequentialGuidKeyGenerator();
            var fpiKeyGenerator = new FpiKeyGenerator(
                new ContentGenerator<ApprovalStatus>(() => Pick<ApprovalStatus>.RandomItemFrom(new[]
                {
                    ApprovalStatus.Informal, 
                    ApprovalStatus.None
                })),
                new ContentGenerator<string>(() => Pick<string>.RandomItemFrom(new[]
                {
                    "RXJG",
                    "GOGL",
                    "MSFT",
                    "YHOO"
                })),

                new ContentGenerator<string>(() => Pick<string>.RandomItemFrom(new[]
                {
                    "DTD",
                    "XSL",
                    "XML",
                    "JSON"
                })), 
                
                new ContentGenerator<string>(() => rndGenerator.Phrase(10)),
                new ContentGenerator<string>(() => Pick<string>.RandomItemFrom(new[]
                {
                    "EN",
                    "FR",
                    "DE",
                    "ES",
                    "IT",
                    "PL",
                    "RO"
                })));

            var valuesFactory = new ValuesFactory(GuidKeyGenerator);
            var parametersFactory = new ParametersFactory(valuesFactory);
            PropertiesFactory = new PropertiesFactory(GuidKeyGenerator, valuesFactory, parametersFactory);
            AlarmFactory = new AlarmFactory(GuidKeyGenerator, PropertiesFactory, valuesFactory);

            EventFactory = new EventFactory(GuidKeyGenerator, AlarmFactory, PropertiesFactory, valuesFactory);
            CalendarFactory = new CalendarFactory(GuidKeyGenerator, fpiKeyGenerator);

            ServiceClientFactory = new ServiceClientFactory();
            ServiceClientFactory.Register(() => new JsonServiceClient(baseUri));
            ServiceClientFactory.Register(() => new JsvServiceClient(baseUri));
            ServiceClientFactory.Register(() => new XmlServiceClient(baseUri));

            TestService = new EventTestService();
        }
Example #2
0
 public void Setup()
 {
     this.view                 = Substitute.For <FakeMainView>();
     this.alarmService         = Substitute.For <FakeAlarmService>();
     this.alarmManager         = Substitute.For <IAlarmManager>();
     this.alarmReminderManager = Substitute.For <IAlarmReminderManager>();
     this.alarmFactory         = Substitute.For <IAlarmFactory>();
     this.importer             = Substitute.For <IImporter>();
     this.settings             = new Settings();
     this.viewModel            = new MainViewModel(this.view, this.alarmService, this.alarmManager, this.alarmReminderManager, this.alarmFactory, this.importer, this.settings);
 }
Example #3
0
        public EventFactory(IKeyGenerator<Guid> keyGenerator, IAlarmFactory alarmFactory, IPropertiesFactory propertiesFactory, IValuesFactory valuesFactory)
        {
            if (keyGenerator == null) throw new ArgumentNullException(nameof(keyGenerator));
            if (propertiesFactory == null) throw new ArgumentNullException(nameof(propertiesFactory));
            if (valuesFactory == null) throw new ArgumentNullException(nameof(valuesFactory));

            this.keyGenerator = keyGenerator;
            this.propertiesFactory = propertiesFactory;
            this.valuesFactory = valuesFactory;
            this.alarmFactory = alarmFactory;

            rndGenerator = new RandomGenerator();
        }
Example #4
0
        public MainViewModel(IMainView view, IAlarmService alarmService, IAlarmManager alarmManager, IAlarmReminderManager alarmReminderManager,
                             IAlarmFactory alarmFactory, IImporter importer, Settings settings)
        {
            if (view == null)
            {
                throw new ArgumentNullException("view");
            }

            if (alarmService == null)
            {
                throw new ArgumentNullException("alarmService");
            }

            if (alarmManager == null)
            {
                throw new ArgumentNullException("alarmManager");
            }

            if (alarmFactory == null)
            {
                throw new ArgumentNullException("alarmFactory");
            }

            if (importer == null)
            {
                throw new ArgumentNullException("importer");
            }

            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }

            if (alarmReminderManager == null)
            {
                throw new ArgumentNullException("alarmReminderManager");
            }

            this.alarmFactory = alarmFactory;
            this.settings     = settings;

            this.view                        = view;
            this.view.OnLoad                += view_OnLoad;
            this.view.OnClosing             += view_OnClosing;
            this.view.OnHideRequest         += view_OnHideRequest;
            this.view.OnShowRequest         += view_OnShowRequest;
            this.view.OnExitRequest         += view_OnExitRequest;
            this.view.OnHushRequest         += view_OnHushRequest;
            this.view.OnUnhushRequest       += view_OnUnhushRequest;
            this.view.OnCompleteRequest     += view_OnCompleteRequest;
            this.view.OnCancelRequest       += view_OnCancelRequest;
            this.view.OnChangeRequest       += view_OnChangeRequest;
            this.view.OnNewRequest          += view_OnNewRequest;
            this.view.OnImportRequest       += view_OnImportRequest;
            this.view.OnEnableSoundRequest  += view_OnEnableSound;
            this.view.OnDisableSoundRequest += view_OnDisableSound;
            this.view.OnPopupOnAlarmOn      += view_OnPopupOnAlarmOn;
            this.view.OnPopupOnAlarmOff     += view_OnPopupOnAlarmOff;
            this.view.OnSmartAlarmOn        += view_OnSmartAlarmOn;
            this.view.OnSmartAlarmOff       += view_OnSmartAlarmOff;

            this.alarmService                      = alarmService;
            this.alarmService.OnAlarmAdd          += alarmService_OnAlarmAdd;
            this.alarmService.OnAlarmRemoval      += alarmService_OnAlarmRemoval;
            this.alarmService.OnAlarmUpdate       += alarmService_OnAlarmUpdate;
            this.alarmService.OnAlarmStatusChange += alarmService_OnAlarmStatusChange;

            this.alarmManager           = alarmManager;
            this.alarmManager.OnSleep  += alarmManager_OnSleep;
            this.alarmManager.OnWakeup += alarmManager_OnWakeup;

            this.alarmReminderManager = alarmReminderManager;
            this.alarmReminderManager.OnRequestNotification += alarmReminderManager_OnRequestNotification;

            this.importer = importer;

            this.PopupOnAlarmEnabled = this.settings.PopupOnAlarm;
            this.SoundEnabled        = this.settings.EnableSound;
            this.SmartAlarmEnabled   = this.settings.SmartAlarm;
        }
Example #5
0
 public void Setup()
 {
     this.view = Substitute.For<FakeMainView>();
     this.alarmService = Substitute.For<FakeAlarmService>();
     this.alarmManager = Substitute.For<IAlarmManager>();
     this.alarmReminderManager = Substitute.For<IAlarmReminderManager>();
     this.alarmFactory = Substitute.For<IAlarmFactory>();
     this.importer = Substitute.For<IImporter>();
     this.settings = new Settings();
     this.viewModel = new MainViewModel(this.view, this.alarmService, this.alarmManager, this.alarmReminderManager, this.alarmFactory, this.importer, this.settings);
 }
Example #6
0
        public MainViewModel(IMainView view, IAlarmService alarmService, IAlarmManager alarmManager, IAlarmReminderManager alarmReminderManager,
                             IAlarmFactory alarmFactory, IImporter importer, Settings settings)
        {
            if (view == null)
                throw new ArgumentNullException("view");

            if (alarmService == null)
                throw new ArgumentNullException("alarmService");

            if (alarmManager == null)
                throw new ArgumentNullException("alarmManager");

            if (alarmFactory == null)
                throw new ArgumentNullException("alarmFactory");

            if (importer == null)
                throw new ArgumentNullException("importer");

            if (settings == null)
                throw new ArgumentNullException("settings");

            if (alarmReminderManager == null)
                throw new ArgumentNullException("alarmReminderManager");

            this.alarmFactory = alarmFactory;
            this.settings = settings;

            this.view = view;
            this.view.OnLoad += view_OnLoad;
            this.view.OnClosing += view_OnClosing;
            this.view.OnHideRequest += view_OnHideRequest;
            this.view.OnShowRequest += view_OnShowRequest;
            this.view.OnExitRequest += view_OnExitRequest;
            this.view.OnHushRequest += view_OnHushRequest;
            this.view.OnUnhushRequest += view_OnUnhushRequest;
            this.view.OnCompleteRequest += view_OnCompleteRequest;
            this.view.OnCancelRequest += view_OnCancelRequest;
            this.view.OnChangeRequest += view_OnChangeRequest;
            this.view.OnNewRequest += view_OnNewRequest;
            this.view.OnImportRequest += view_OnImportRequest;
            this.view.OnEnableSoundRequest += view_OnEnableSound;
            this.view.OnDisableSoundRequest += view_OnDisableSound;
            this.view.OnPopupOnAlarmOn += view_OnPopupOnAlarmOn;
            this.view.OnPopupOnAlarmOff += view_OnPopupOnAlarmOff;
            this.view.OnSmartAlarmOn += view_OnSmartAlarmOn;
            this.view.OnSmartAlarmOff += view_OnSmartAlarmOff;

            this.alarmService = alarmService;
            this.alarmService.OnAlarmAdd += alarmService_OnAlarmAdd;
            this.alarmService.OnAlarmRemoval += alarmService_OnAlarmRemoval;
            this.alarmService.OnAlarmUpdate += alarmService_OnAlarmUpdate;
            this.alarmService.OnAlarmStatusChange += alarmService_OnAlarmStatusChange;

            this.alarmManager = alarmManager;
            this.alarmManager.OnSleep += alarmManager_OnSleep;
            this.alarmManager.OnWakeup += alarmManager_OnWakeup;

            this.alarmReminderManager = alarmReminderManager;
            this.alarmReminderManager.OnRequestNotification += alarmReminderManager_OnRequestNotification;

            this.importer = importer;

            this.PopupOnAlarmEnabled = this.settings.PopupOnAlarm;
            this.SoundEnabled = this.settings.EnableSound;
            this.SmartAlarmEnabled = this.settings.SmartAlarm;
        }