Ejemplo n.º 1
0
        public void ProteinService_Get_Test2()
        {
            // Arrange
            var downloader = MockRepository.GenerateMock <IProjectSummaryDownloader>();

            downloader.Expect(x => x.Download()).Repeat.Once();
            downloader.Stub(x => x.FilePath).Return("..\\..\\..\\HFM.Proteins.Tests\\TestFiles\\summary.json");

            var service = new ProteinService(null, downloader)
            {
                Logger = new Logging.DebugLogger()
            };
            var protein = CreateValidProtein(2483);

            service.Add(protein);
            // Act
            Protein p = service.Get(2483, true);

            Assert.IsNotNull(p);
            p = service.Get(2482, true);
            Assert.IsNull(p);
            // Call twice to internally exercise the projects not found list
            p = service.Get(2482, true);
            Assert.IsNull(p);
            // Assert
            downloader.VerifyAllExpectations();
        }
Ejemplo n.º 2
0
 public void ProteinService_Get_Test1()
 {
    // Arrange
    var service = new ProteinService();
    var protein = CreateValidProtein(2483);
    service.Add(protein);
    // Act & Assert
    Protein p = service.Get(2483);
    Assert.IsNotNull(p);
    p = service.Get(2482);
    Assert.IsNull(p);
 }
Ejemplo n.º 3
0
        public void ProteinService_Get_Test1()
        {
            // Arrange
            var service = new ProteinService();
            var protein = CreateValidProtein(2483);

            service.Add(protein);
            // Act & Assert
            Protein p = service.Get(2483);

            Assert.IsNotNull(p);
            p = service.Get(2482);
            Assert.IsNull(p);
        }
Ejemplo n.º 4
0
        private (PointPairList Points, string Label) BuildSlotPoints(IEnumerable <ProteinBenchmark> benchmarks, Dictionary <int, double> projectToXAxisOrdinal)
        {
            bool calculateBonus = Preferences.Get <BonusCalculation>(Preference.BonusCalculation) != BonusCalculation.None;

            var    points = new PointPairList();
            string label  = null;

            foreach (var b in benchmarks)
            {
                var protein = ProteinService.Get(b.ProjectID);
                if (protein is null)
                {
                    continue;
                }

                if (label is null)
                {
                    label = GetSlotNameAndProcessor(b, protein);
                }

                double y = GetPPD(protein, b.AverageFrameTime, calculateBonus);
                points.Add(projectToXAxisOrdinal[b.ProjectID], y);
            }

            return(points, label);
        }
Ejemplo n.º 5
0
 private Protein GetProtein(int?projectID)
 {
     if (!projectID.HasValue)
     {
         return(null);
     }
     return(ProteinService.Get(projectID.Value));
 }
Ejemplo n.º 6
0
        private void SetProtein()
        {
            var projectID = SelectedSlotProject?.Value;

            if (projectID is null)
            {
                Protein = null;
                return;
            }

            Protein = ProteinService.Get(projectID.Value);
        }
Ejemplo n.º 7
0
 public void ProteinService_Get_Test2()
 {
    // Arrange
    var downloader = MockRepository.GenerateMock<IProjectSummaryDownloader>();
    downloader.Expect(x => x.Download()).Repeat.Once();
    downloader.Stub(x => x.FilePath).Return("..\\..\\..\\HFM.Proteins.Tests\\TestFiles\\summary.json");
    
    var service = new ProteinService(null, downloader) { Logger = new Logging.DebugLogger() };
    var protein = CreateValidProtein(2483);
    service.Add(protein);
    // Act
    Protein p = service.Get(2483, true);
    Assert.IsNotNull(p);
    p = service.Get(2482, true);
    Assert.IsNull(p);
    // Call twice to internally exercise the projects not found list
    p = service.Get(2482, true);
    Assert.IsNull(p);
    // Assert
    downloader.VerifyAllExpectations();
 }
Ejemplo n.º 8
0
        public void ProteinService_Get_Test3()
        {
            // Arrange
            var downloader = MockRepository.GenerateMock <IProjectSummaryDownloader>();
            var service    = new ProteinService(null, downloader)
            {
                Logger = new Logging.DebugLogger()
            };

            // Act
            service.Get(2482, true);
            // Assert
            Assert.IsTrue(service.ProjectsNotFound.ContainsKey(2482));
        }
Ejemplo n.º 9
0
        public override void Generate(IBenchmarksReportSource source)
        {
            var benchmarkText = new List <string>();

            var slotIdentifier = source.SlotIdentifier;
            var projects       = source.Projects;

            if (slotIdentifier is null || projects.Count == 0)
            {
                Result = benchmarkText;
                return;
            }

            string numberFormat     = NumberFormat.Get(Preferences.Get <int>(Preference.DecimalPlaces));
            var    bonusCalculation = Preferences.Get <BonusCalculation>(Preference.BonusCalculation);
            bool   calculateBonus   = bonusCalculation != BonusCalculation.None;

            foreach (var projectID in projects)
            {
                var protein = ProteinService.Get(projectID);
                if (protein is null)
                {
                    benchmarkText.Add(String.Format(CultureInfo.InvariantCulture, " Project ID: {0} Not Found", projectID));
                    benchmarkText.AddRange(Enumerable.Repeat(String.Empty, 2));
                    continue;
                }

                var benchmarks = BenchmarkService.GetBenchmarks(slotIdentifier.Value, protein.ProjectNumber)
                                 .OrderBy(x => x.SlotIdentifier.Name)
                                 .ThenBy(x => x.Threads);

                benchmarkText
                .AddRange(EnumerateProjectInformation(protein)
                          .Concat(Enumerable.Repeat(String.Empty, 2)));

                foreach (var b in benchmarks)
                {
                    benchmarkText
                    .AddRange(EnumerateBenchmarkInformation(protein, b, numberFormat, calculateBonus)
                              .Concat(EnumerateSlotInformation(FindRunningSlot(b), numberFormat, bonusCalculation))
                              .Concat(Enumerable.Repeat(String.Empty, 2)));
                }
            }

            Result = benchmarkText;
        }
Ejemplo n.º 10
0
        public void ProteinService_Get_Test4()
        {
            // Arrange
            var downloader = MockRepository.GenerateMock <IProjectSummaryDownloader>();

            downloader.Expect(x => x.Download()).Repeat.Once();
            downloader.Stub(x => x.FilePath).Return("..\\..\\..\\HFM.Proteins.Tests\\TestFiles\\summary.json");

            var service = new ProteinService(null, downloader)
            {
                Logger = new Logging.DebugLogger()
            };

            // Set project not found to excercise removal code
            service.ProjectsNotFound.Add(6940, DateTime.MinValue);
            // Act
            Protein p = service.Get(6940, true);

            Assert.IsNotNull(p);
            // Assert
            downloader.VerifyAllExpectations();
            Assert.IsFalse(service.ProjectsNotFound.ContainsKey(6940));
        }
Ejemplo n.º 11
0
      public void ProteinService_Get_Test4()
      {
         // Arrange
         var downloader = MockRepository.GenerateMock<IProjectSummaryDownloader>();
         downloader.Expect(x => x.Download()).Repeat.Once();
         downloader.Stub(x => x.FilePath).Return("..\\..\\..\\HFM.Proteins.Tests\\TestFiles\\summary.json");

         var service = new ProteinService(null, downloader) { Logger = new Logging.DebugLogger() };
         // Set project not found to excercise removal code
         service.ProjectsNotFound.Add(6940, DateTime.MinValue);
         // Act
         Protein p = service.Get(6940, true);
         Assert.IsNotNull(p);
         // Assert
         downloader.VerifyAllExpectations();
         Assert.IsFalse(service.ProjectsNotFound.ContainsKey(6940));
      }
Ejemplo n.º 12
0
 public void ProteinService_Get_Test3()
 {
    // Arrange
    var downloader = MockRepository.GenerateMock<IProjectSummaryDownloader>();
    var service = new ProteinService(null, downloader) { Logger = new Logging.DebugLogger() };
    // Act
    service.Get(2482, true);
    // Assert
    Assert.IsTrue(service.ProjectsNotFound.ContainsKey(2482));
 }