private void SetupSync()
        {
            // Set up client
            ILog clientLogger = LogManager.GetLogger("Client");

            log4net.Config.XmlConfigurator.Configure(clientLogger.Logger.Repository);
            ClientContainer.Register <ILog>(clientLogger);
            ClientContainer.Register <IRepository <TestItem, Guid> >(ClientRepository);
            ClientContainer.Register <ISyncResult <TestItem, Guid>, SyncResult <TestItem, Guid> >();
            ClientContainer.Register <IReplica>(new Replica("Client"));

            // Set up server
            ILog serverLogger = LogManager.GetLogger("Server");

            log4net.Config.XmlConfigurator.Configure(serverLogger.Logger.Repository);
            ServerContainer.Register <ILog>(clientLogger);
            ServerContainer.Register <IRepository <TestItem, Guid> >(ServerRepository);
            ServerContainer.Register <ISyncResult <TestItem, Guid>, SyncResult <TestItem, Guid> >();
            ServerContainer.Register <IReplica>(ServerReplica);
            ServerRepository.Insert(TestItemR0);             // Start with an item on the server

            // Used for both client and server
            Container.Register <ISyncConflictResolver <TestItem, Guid>, TestItemConflictResolver>();

            // Just pass the sync requests directly between the server and client
            // Ordinarily these would by serialized and sent over a wire, but the
            // TestSyncRequestSender, just passes the object directly.
            ClientContainer.Register <ISyncRequestSender <TestItem, Guid> >(new TestSyncRequestSender <TestItem, Guid>(ServerSendingSynchronizer));

            ClientSendingSynchronizer.BeginSync(ServerReplica);
        }
 public void WhenTheClientAppSubmitsTheRecordForSynchronization()
 {
     ClientSendingSynchronizer.BeginSync(ServerReplica);
 }