public void ProteinDictionary_CreateFromExisting_VerifyDictionaryContents_Test() { // Arrange var dictionary = new ProteinDictionary(); // 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(2); protein.MaximumDays = 3; protein.KFactor = 26.4; values.Add(protein); values.Add(CreateValidProtein(3)); // Act dictionary = ProteinDictionary.CreateFromExisting(dictionary, values); // Assert Assert.AreEqual(3, dictionary.Count); // check project 1 Assert.AreEqual(1, dictionary[1].ProjectNumber); // check project 2 Assert.AreEqual(2, dictionary[2].ProjectNumber); Assert.AreEqual(3, dictionary[2].MaximumDays); Assert.AreEqual(26.4, dictionary[2].KFactor); // check project 3 Assert.AreEqual(3, dictionary[3].ProjectNumber); }
public void ProteinDictionary_CreateFromExisting_VerifyChanges_Test() { // Arrange var dictionary = new ProteinDictionary(); // 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)); values.Add(CreateValidProtein(4)); // Act dictionary = ProteinDictionary.CreateFromExisting(dictionary, values); var results = dictionary.Changes.ToList(); // Assert Assert.AreEqual(4, results.Count); // check index 0 Assert.AreEqual(1, results[0].ProjectNumber); Assert.AreEqual(ProteinDictionaryChangeResult.Changed, results[0].Result); var changes = results[0].Changes.ToList(); Assert.AreEqual(1, changes.Count); Assert.AreEqual("Credit", changes[0].PropertyName); Assert.AreEqual("1", changes[0].Previous); Assert.AreEqual("100", changes[0].Current); // check index 1 Assert.AreEqual(2, results[1].ProjectNumber); Assert.AreEqual(ProteinDictionaryChangeResult.Changed, results[1].Result); changes = results[1].Changes.ToList(); Assert.AreEqual(2, changes.Count); Assert.AreEqual("MaximumDays", changes[0].PropertyName); Assert.AreEqual("1", changes[0].Previous); Assert.AreEqual("3", changes[0].Current); Assert.AreEqual("KFactor", changes[1].PropertyName); Assert.AreEqual("0", changes[1].Previous); Assert.AreEqual("26.4", changes[1].Current); // check index 2 Assert.AreEqual(3, results[2].ProjectNumber); Assert.AreEqual(ProteinDictionaryChangeResult.NoChange, results[2].Result); Assert.IsNull(results[2].Changes); // check index 3 Assert.AreEqual(4, results[3].ProjectNumber); Assert.AreEqual(ProteinDictionaryChangeResult.Added, results[3].Result); Assert.IsNull(results[3].Changes); }
public void ProteinDictionary_CreateFromExisting_ThrowsWhenProteinsIsNull_Test() { Assert.Throws <ArgumentNullException>(() => ProteinDictionary.CreateFromExisting(new ProteinDictionary(), null)); }