Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/21/11 17:35:42 (13 years ago)
Author:
cneumuel
Message:

#1233

  • fixed handling of StateLog in DataLayer
  • extended unit tests
  • changed style of service calls to OKB-like style (using delegates)
  • added possibility that parent jobs can be finished immediately when child jobs are finished
Location:
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.Tests
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.Tests/Mocks/MockServiceLocator.cs

    r5405 r5526  
    2020#endregion
    2121
    22 using HeuristicLab.Clients.Common;
     22using System;
    2323using HeuristicLab.Services.Hive.Common.ServiceContracts;
    2424
    2525namespace HeuristicLab.Clients.Hive.Slave.Tests {
    2626  public class MockServiceLocator : IServiceLocator {
    27 
    2827    private MockHiveService service;
    2928
    30     public Disposable<IHiveService> GetService() {
     29    private string username;
     30    public string Username {
     31      get { return username; }
     32      set { username = value; }
     33    }
     34
     35    private string password;
     36    public string Password {
     37      get { return password; }
     38      set { password = value; }
     39    }
     40   
     41    public IHiveService GetService() {
    3142      if (service == null)
    3243        service = new MockHiveService();
    33 
    34       return new Disposable<IHiveService>(service);
     44      return service;
    3545    }
    3646
    37     public Disposable<IHiveService> GetService(string username, string password) {
    38       return GetService();
     47    public void CallHiveService(Action<IHiveService> call) {
     48      call(GetService());
     49    }
     50
     51    public T CallHiveService<T>(Func<IHiveService, T> call) {
     52      return call(GetService());
    3953    }
    4054  }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.Tests/SlaveTest.cs

    r5511 r5526  
    2323using System.Collections.Generic;
    2424using System.Linq;
    25 using HeuristicLab.Clients.Common;
    2625using HeuristicLab.Services.Hive.Common;
    2726using HeuristicLab.Services.Hive.Common.DataTransfer;
    28 using HeuristicLab.Services.Hive.Common.ServiceContracts;
    2927using Microsoft.VisualStudio.TestTools.UnitTesting;
    3028
     
    8280      MockJob job = new MockJob(300, false);
    8381
    84       using (Disposable<IHiveService> service = ServiceLocator.Instance.GetService()) {
    85         MockHiveService ms = (MockHiveService)service.Obj;
    86         ((MockHiveService)service.Obj).Messages = CreateMsgsForSingleJob();
    87         ((MockHiveService)service.Obj).updateJobs(jobList, job);
     82      ServiceLocator.Instance.CallHiveService(service => {
     83        MockHiveService ms = (MockHiveService)service;
     84        ((MockHiveService)service).Messages = CreateMsgsForSingleJob();
     85        ((MockHiveService)service).updateJobs(jobList, job);
    8886
    8987        HeuristicLab.Clients.Hive.Slave.Core core = new Slave.Core();
     
    9391        Assert.AreEqual<Guid>(testJob.Id, ms.ResultJobs[0].Id);
    9492        core.Shutdown();
    95       }
     93      });
    9694    }
    9795
     
    120118      MockJob job = new MockJob(10000, false);
    121119
    122       using (Disposable<IHiveService> service = ServiceLocator.Instance.GetService()) {
    123         MockHiveService ms = (MockHiveService)service.Obj;
    124         ((MockHiveService)service.Obj).Messages = CreateMsgsForShutdownSlaveWhileJobRunning();
    125         ((MockHiveService)service.Obj).updateJobs(jobList, job);
     120      ServiceLocator.Instance.CallHiveService(service => {
     121        MockHiveService ms = (MockHiveService)service;
     122        ((MockHiveService)service).Messages = CreateMsgsForShutdownSlaveWhileJobRunning();
     123        ((MockHiveService)service).updateJobs(jobList, job);
    126124
    127125
    128126        HeuristicLab.Clients.Hive.Slave.Core core = new Slave.Core();
    129127        core.Start();
    130       }
     128      });
    131129    }
    132130
     
    184182      MockJob job = new MockJob(2000, false);
    185183
    186       using (Disposable<IHiveService> service = ServiceLocator.Instance.GetService()) {
    187         MockHiveService ms = (MockHiveService)service.Obj;
    188         ((MockHiveService)service.Obj).Messages = CreateMsgsForTwoJobs();
    189         ((MockHiveService)service.Obj).updateJobs(jobList, job);
     184      ServiceLocator.Instance.CallHiveService(service => {
     185        MockHiveService ms = (MockHiveService)service;
     186        ((MockHiveService)service).Messages = CreateMsgsForTwoJobs();
     187        ((MockHiveService)service).updateJobs(jobList, job);
    190188
    191189
     
    194192        Assert.AreEqual<int>(2, ms.ResultJobs.Count);
    195193        core.Shutdown();
    196       }
     194      });
    197195    }
    198196  }
Note: See TracChangeset for help on using the changeset viewer.