public void TestSpeciesMPValue() { //Parameters in order to create a SpeciesMP SpeciesDescription info1; string speciesName = "species1"; int initialPopulation = 10; //Species Info Object info1 = new SpeciesDescription(speciesName, initialPopulation); var species = new SpeciesMP(info1, new Dictionary <string, IValue>()); species.Reset(); //Test get Assert.AreEqual((double)initialPopulation, species.Value); //Test set species.Value = 20.0; Assert.AreEqual(20.0, species.Value); species.Value = 21.5; Assert.AreEqual(21.5, species.Value); //Test set via Update species.Update(30.0); Assert.AreEqual(30.0, species.Value); }
public void ProcessSpeciesTestOneSpecies() { ModelInfo.ModelBuilder modelInfoEx = new ModelInfo.ModelBuilder("model"); var species = new SpeciesDescription("testSpecies", 10); modelInfoEx.AddSpecies(species); ModelInfo modelInfo = modelInfoEx.Model; Model model = new Model(modelInfo); MpModelBuilder modelbuilder = new MpModelBuilder(); MethodInfo processSpeciesMethod = ReflectionUtility.GetHiddenMethod("ProcessSpecies", modelbuilder); IDictionary <string, IValue> nmap; IDictionary <string, IBoolean> bmap; IDictionary <string, IUpdateable> umap; IDictionary <SpeciesDescription, Species> speciesMap = InitializeMaps(out nmap, out bmap, out umap); var newSpecies = new SpeciesMP(species, nmap); //Inputs to invoke hidden method ProcessSpecies (needs to be an array of objects) var inputArray1 = new object[2]; inputArray1[0] = model; inputArray1[1] = modelInfo; //Test to make sure that the model has local variables that are null var compareSpeciesMap = ReflectionUtility.GetHiddenField <IDictionary <SpeciesDescription, Species> >("_speciesMap", modelbuilder); var compareNmap = ReflectionUtility.GetHiddenField <IDictionary <string, IValue> >("_nmap", modelbuilder); var compareBmap = ReflectionUtility.GetHiddenField <IDictionary <string, IBoolean> >("_bmap", modelbuilder); var compareUMap = ReflectionUtility.GetHiddenField <IDictionary <string, IUpdateable> >("_umap", modelbuilder); Assert.AreEqual(speciesMap, compareSpeciesMap); Assert.AreEqual(nmap, compareNmap); Assert.AreEqual(bmap, compareBmap); Assert.AreEqual(umap, compareUMap); processSpeciesMethod.Invoke(modelbuilder, inputArray1); //Begin Assertions about the species that was added to the model Assert.AreEqual("testSpecies", model.Species[0].Name); Assert.AreEqual(species, model.Species[0].Description); Assert.AreEqual(1, model.Species.Count); //Assert tests about size. compareSpeciesMap = ReflectionUtility.GetHiddenField <IDictionary <SpeciesDescription, Species> >("_speciesMap", modelbuilder); compareNmap = ReflectionUtility.GetHiddenField <IDictionary <string, IValue> >("_nmap", modelbuilder); compareUMap = ReflectionUtility.GetHiddenField <IDictionary <string, IUpdateable> >("_umap", modelbuilder); Assert.AreEqual(1, compareSpeciesMap.Count); Assert.AreEqual(1, compareNmap.Count); Assert.AreEqual(1, compareUMap.Count); //Assert tests about what was actually added to the dictionary. var testSpecies = (SpeciesMP)compareNmap["testSpecies"]; Assert.AreEqual(testSpecies.Description, newSpecies.Description); Assert.AreEqual(testSpecies.Locale, newSpecies.Locale); Assert.AreEqual(testSpecies.Name, newSpecies.Name); }
public void TestSpeciesMPCount() { //Parameters in order to create a SpeciesMP SpeciesDescription info1; string speciesName = "species1"; int initialPopulation = 10; //Species Info Object info1 = new SpeciesDescription(speciesName, initialPopulation); var species = new SpeciesMP(info1, new Dictionary <string, IValue>()); species.Reset(); //Test get Assert.AreEqual(initialPopulation, species.Count); //Test set species.Count = 20; Assert.AreEqual(20, species.Count); Assert.AreEqual((double)20, species.Value); //Test fractional value of species. species.Value = 30.2; Assert.AreEqual((int)30.2, species.Count); //Test get through Update. species.Update(30.0); Assert.AreEqual(30, species.Count); }
public void TestSpeciesMPConstructorWithDefaults() { //Parameters in order to create a SpeciesMP const string speciesName = "species1"; const int initialPopulation = 10; //Species Info and Species Object var info1 = new SpeciesDescription(speciesName, initialPopulation); var species = new SpeciesMP(info1, new Dictionary <string, IValue>()); species.Reset(); //Test Constructor Assert.AreEqual(initialPopulation, species.Count); Assert.AreEqual(initialPopulation, (int)species.Value); }
public void TestSpeciesMPDecrement() { //Parameters in order to create a SpeciesMP SpeciesDescription info1; string speciesName = "species1"; int initialPopulation = 20; //Species Info Object info1 = new SpeciesDescription(speciesName, initialPopulation); var species = new SpeciesMP(info1, new Dictionary <string, IValue>()); species.Reset(); //Test Increment Assert.AreEqual(initialPopulation, species.Count); int returnCount; double returnValue; int deltaInt = 5; double deltaDouble = 5.0; returnCount = species.Decrement(); Assert.AreEqual(initialPopulation - 1, species.Count); Assert.AreEqual(initialPopulation - 1, returnCount); returnCount = ((Species)species).Decrement(deltaInt); Assert.AreEqual(initialPopulation - 6, species.Count); Assert.AreEqual(initialPopulation - 6, returnCount); returnValue = species.Decrement(deltaDouble); Assert.AreEqual(initialPopulation - 11, species.Value); Assert.AreEqual(initialPopulation - 11, returnValue); deltaInt = -5; deltaDouble = -5.0; returnCount = ((Species)species).Decrement(deltaInt); Assert.AreEqual(initialPopulation - 6, species.Count); Assert.AreEqual(initialPopulation - 6, returnCount); returnValue = species.Decrement(deltaDouble); Assert.AreEqual(initialPopulation - 1, species.Value); Assert.AreEqual(initialPopulation - 1, returnValue); }
private static Reaction CreateReaction(SpeciesDescription info1, SpeciesMP reactant1, SpeciesDescription info2, SpeciesMP reactant2, SpeciesDescription info3, SpeciesMP product1, float rate) { var builder = new ReactionInfo.ReactionBuilder("theReaction"); builder.AddReactant(info1); builder.AddReactant(info2); builder.AddProduct(info3); builder.SetRate(new NumericExpressionTree(new Constant(rate))); var reactionInfo = builder.Reaction; var speciesMap = new Dictionary <SpeciesDescription, Species>(3) { { info1, reactant1 }, { info2, reactant2 }, { info3, product1 } }; var symbolMap = new Dictionary <string, IValue>(); var reaction = new Reaction(reactionInfo, speciesMap, symbolMap); return(reaction); }
public void TestSpeciesMPUpdate() { //Parameters in order to create a SpeciesMP SpeciesDescription info1; string speciesName = "species1"; int initialPopulation = 10; //Species Info Object info1 = new SpeciesDescription(speciesName, initialPopulation); var species = new SpeciesMP(info1, new Dictionary <string, IValue>()); species.Reset(); //Test Update species.Update(30.0f); Assert.AreEqual(30.0f, species.Value); species.Update(0.0f); Assert.AreEqual(0.0f, species.Value); species.Update(-30.0f); Assert.AreEqual(-30.0f, species.Value); }
private static void CreateSpeciesInfoAndSpecies(string speciesName, int initialPopulation, out SpeciesDescription info, out SpeciesMP species) { info = new SpeciesDescription(speciesName, initialPopulation); species = new SpeciesMP(info, new Dictionary <string, IValue>()); species.Reset(); }