Exemplo n.º 1
0
        public void GetProteinOrDownloadTest1()
        {
            // Arrange
             var prefs = MockRepository.GenerateStub<IPreferenceSet>();
             var downloader = MockRepository.GenerateMock<IProjectSummaryDownloader>();
             downloader.Expect(x => x.DownloadFromStanford());
             downloader.Expect(x => x.DownloadFilePath).Return("..\\..\\..\\HFM.Proteins.Tests\\TestFiles\\psummary.html");
             //downloader.Expect(x => x.DownloadFromHfmWeb());
             //downloader.Expect(x => x.DownloadFilePath).Return("..\\..\\TestFiles\\ProjectInfo.xml");

             var proteins = new ProteinDictionary(prefs, downloader);
             var protein = CreateValidProtein(2483);
             proteins.Add(protein.ProjectNumber, protein);
             // Act
             Protein p = proteins.GetProteinOrDownload(2483);
             Assert.AreEqual(false, p.IsUnknown());
             p = proteins.GetProteinOrDownload(2482);
             Assert.AreEqual(true, p.IsUnknown());
             // Do it twice to exercise the projects not found list
             p = proteins.GetProteinOrDownload(2482);
             Assert.AreEqual(true, p.IsUnknown());
             // Assert
             downloader.VerifyAllExpectations();
        }
Exemplo n.º 2
0
 internal void Add(Protein protein)
 {
     _dictionary.Add(protein.ProjectNumber, protein);
 }
Exemplo n.º 3
0
        private static IProteinDictionary CreateProteinDictionary()
        {
            var proteins = new ProteinDictionary();

             var protein = new Protein();
             protein.ProjectNumber = 6600;
             protein.WorkUnitName = "WorkUnitName";
             protein.Core = "GROGPU2";
             protein.Credit = 450;
             protein.KFactor = 0;
             protein.Frames = 100;
             protein.NumberOfAtoms = 5000;
             protein.PreferredDays = 2;
             protein.MaximumDays = 3;
             proteins.Add(protein.ProjectNumber, protein);

             protein = new Protein();
             protein.ProjectNumber = 5797;
             protein.WorkUnitName = "WorkUnitName2";
             protein.Core = "GROGPU2";
             protein.Credit = 675;
             protein.KFactor = 2.3;
             protein.Frames = 100;
             protein.NumberOfAtoms = 7000;
             protein.PreferredDays = 2;
             protein.MaximumDays = 3;
             proteins.Add(protein.ProjectNumber, protein);

             protein = new Protein();
             protein.ProjectNumber = 8011;
             protein.WorkUnitName = "WorkUnitName3";
             protein.Core = "GRO-A4";
             protein.Credit = 106.6;
             protein.KFactor = 0.75;
             protein.Frames = 100;
             protein.NumberOfAtoms = 9000;
             protein.PreferredDays = 2.13;
             protein.MaximumDays = 4.62;
             proteins.Add(protein.ProjectNumber, protein);

             protein = new Protein();
             protein.ProjectNumber = 6903;
             protein.WorkUnitName = "WorkUnitName4";
             protein.Core = "GRO-A5";
             protein.Credit = 22706;
             protein.KFactor = 38.05;
             protein.Frames = 100;
             protein.NumberOfAtoms = 11000;
             protein.PreferredDays = 5;
             protein.MaximumDays = 12;
             proteins.Add(protein.ProjectNumber, protein);

             return proteins;
        }
Exemplo n.º 4
0
        public void LoadTest2()
        {
            // add proteins so we have something that already exists
            _dictionary.Add(1, CreateValidProtein(1));
            _dictionary.Add(2, CreateValidProtein(2));
            _dictionary.Add(3, CreateValidProtein(3));

            // build the collection of proteins to load
            var values  = new List <Protein>();
            var protein = CreateValidProtein(1);

            protein.Credit = 100;
            values.Add(protein);
            protein             = CreateValidProtein(2);
            protein.MaximumDays = 3;
            protein.KFactor     = 26.4;
            values.Add(protein);
            values.Add(CreateValidProtein(3));

            // execute load
            var results = _dictionary.Load(values).ToList();

            // check the results
            Assert.AreEqual(3, results.Count);

            // check index 0
            Assert.AreEqual(1, results[0].ProjectNumber);
            Assert.AreEqual(ProteinLoadResult.Changed, results[0].Result);
            var changes = results[0].Changes.ToList();

            Assert.AreEqual(1, changes.Count);
            Assert.AreEqual("Credit", changes[0].Name);
            Assert.AreEqual("1", changes[0].OldValue);
            Assert.AreEqual("100", changes[0].NewValue);

            // check index 1
            Assert.AreEqual(2, results[1].ProjectNumber);
            Assert.AreEqual(ProteinLoadResult.Changed, results[1].Result);
            changes = results[1].Changes.ToList();
            Assert.AreEqual(2, changes.Count);
            Assert.AreEqual("MaximumDays", changes[0].Name);
            Assert.AreEqual("1", changes[0].OldValue);
            Assert.AreEqual("3", changes[0].NewValue);
            Assert.AreEqual("KFactor", changes[1].Name);
            Assert.AreEqual("0", changes[1].OldValue);
            Assert.AreEqual("26.4", changes[1].NewValue);

            // check index 2
            Assert.AreEqual(3, results[2].ProjectNumber);
            Assert.AreEqual(ProteinLoadResult.NoChange, results[2].Result);
            Assert.IsNull(results[2].Changes);
        }