public void BaseOrchestrator_ShouldFail_When_Args_AreNull()
        {
            var provider = new MockProvider();
            var options  = new SyncOptions();
            var setup    = new SyncSetup();

            Assert.Throws <ArgumentNullException>(() => new MockBaseClientOrchestrator(null, null, null));
            Assert.Throws <ArgumentNullException>(() => new MockBaseClientOrchestrator(provider, null, null));
            Assert.Throws <ArgumentNullException>(() => new MockBaseClientOrchestrator(provider, options, null));
            Assert.Throws <ArgumentNullException>(() => new MockBaseClientOrchestrator(null, options, setup));
            Assert.Throws <ArgumentNullException>(() => new MockBaseClientOrchestrator(null, null, setup));
        }
        public void BaseOrchestrator_Constructor()
        {
            var provider     = new MockProvider();
            var options      = new SyncOptions();
            var setup        = new SyncSetup();
            var orchestrator = new MockBaseClientOrchestrator(provider, options, setup);

            Assert.NotNull(orchestrator.Options);
            Assert.Same(options, orchestrator.Options);
            Assert.Same(options, provider.Options);

            Assert.NotNull(orchestrator.Provider);
            Assert.Same(provider, orchestrator.Provider);

            Assert.NotNull(orchestrator.Setup);
            Assert.Same(setup, orchestrator.Setup);

            Assert.NotNull(provider.Orchestrator);
            Assert.Same(provider.Orchestrator, orchestrator);
        }