private static IProteinService CreateProteinService(Protein protein) { var dataContainer = new ProteinDataContainer(); dataContainer.Data.Add(protein); return(new ProteinService(dataContainer, null, NullLogger.Instance)); }
public ProteinService(ProteinDataContainer dataContainer, IProjectSummaryService projectSummaryService, ILogger logger) { _dataContainer = dataContainer; _projectSummaryService = projectSummaryService; _logger = logger ?? NullLogger.Instance; _collection = CreateProteinCollection(_dataContainer.Data); LastProjectRefresh = new Dictionary <int, DateTime>(); }
public void ProteinService_Get_AvailableProtein() { // Arrange var protein = CreateValidProtein(2483); var dataContainer = new ProteinDataContainer(); dataContainer.Data.Add(protein); var service = new ProteinService(dataContainer, null, null); // Act var p = service.Get(2483); // Assert Assert.AreSame(protein, p); }
public void ProteinService_GetProjects_Test() { // Arrange var dataContainer = new ProteinDataContainer(); var projects = Enumerable.Range(1, 5).ToList(); foreach (int projectNumber in projects) { dataContainer.Data.Add(CreateValidProtein(projectNumber)); } var service = new ProteinService(dataContainer, null, null); // Act var serviceProjects = service.GetProjects(); // Assert Assert.IsTrue(projects.SequenceEqual(serviceProjects)); }
public void BenchmarkPresenter_DescriptionLinkClicked_StartsLocalProcess() { // Arrange var dataContainer = new ProteinDataContainer(); dataContainer.Data.Add(new Protein { ProjectNumber = 12345, Description = "http://someurl" }); var proteinService = new ProteinService(dataContainer, null, null); var benchmarkService = CreateBenchmarkServiceWithOneSlotAndProject(); var model = CreateModel(proteinService, benchmarkService); using (var presenter = new MockFormBenchmarksPresenter(model)) { presenter.Show(); var localProcess = new MockLocalProcessService(); // Act presenter.DescriptionLinkClicked(localProcess); // Assert Assert.AreEqual(1, presenter.Model.SlotProjects.Count); Assert.IsTrue(localProcess.Invocations.First().FileName == "http://someurl"); } }