public void ResolveToRemote()
    {
      TestConflictResolver tcr = new TestConflictResolver(); 
      tcr.Mode = TestConflictResolver.ResolutionMode.KeepRemote; 
      ResolveConflictCallback rccb = new ResolveConflictCallback(tcr.ResolveConflict);
      sync.Resolve(rccb); 

      Assert.AreEqual(Status.LocallyModified, theTopic.Status, "Checking that status is now LocallyModified"); 
      Assert.AreEqual(remoteContents, Utilities.GetTopicContent(theTopic), "Checking that local contents were overwritten");
    }
    public void ResolveToLocal()
    {
      TestConflictResolver tcr = new TestConflictResolver(); 
      tcr.Mode = TestConflictResolver.ResolutionMode.KeepLocal; 
      ResolveConflictCallback rccb = new ResolveConflictCallback(tcr.ResolveConflict);
      sync.Resolve(rccb); 

      Assert.AreEqual(Status.LocallyModified, theTopic.Status, "Checking that status is now LocallyModified");
      Assert.AreEqual(localContents, Utilities.GetTopicContent(theTopic), "Checking that local contents were kept"); 

      ArrayList events = target.Find(EventType.ConflictSkipped);

      Assert.AreEqual(0, events.Count, "Checking that no conflicts were reported skipped"); 
    }
    public void ResolveCancelled()
    {
      TestConflictResolver tcr = new TestConflictResolver(); 
      tcr.Mode = TestConflictResolver.ResolutionMode.Cancel; 
      ResolveConflictCallback rccb = new ResolveConflictCallback(tcr.ResolveConflict);
      sync.Resolve(rccb); 

      Assert.AreEqual(Status.InConflict, theTopic.Status, "Checking that status is still InConflict"); 
      Assert.AreEqual(localContents, Utilities.GetTopicContent(theTopic), "Checking that local contents were unchanged");

    }
    public void ResolveConcatenate()
    {
      TestConflictResolver tcr = new TestConflictResolver(); 
      tcr.Mode = TestConflictResolver.ResolutionMode.Concatenate; 
      ResolveConflictCallback rccb = new ResolveConflictCallback(tcr.ResolveConflict);
      sync.Resolve(rccb); 

      Assert.AreEqual(Status.LocallyModified, theTopic.Status, "Checking that status is now LocallyModified"); 
      Assert.AreEqual(localContents + remoteContents, Utilities.GetTopicContent(theTopic), 
        "Checking that local and remote contents were 'merged'");
    }