static public void PopulateWithTestData(this XmlSerializableModelRunDefinition mrd) { mrd.StartDate = new DateTime(Rand.Next(1900, 1980), Rand.Next(1, 12), Rand.Next(1, 29)); mrd.EndDate = new DateTime(Rand.Next(1980, 2012), Rand.Next(1, 12), Rand.Next(1, 29)); mrd.FullyQualifiedModelName = Rand.NextString(); // Inputs ModelInputsDefinition inputs = (ModelInputsDefinition)mrd.Inputs; inputs.CatchmentIdentifier = Rand.NextString(); inputs.StartDate = mrd.StartDate; inputs.EndDate = mrd.EndDate; inputs.NcIndexVarname = Rand.NextString(); inputs.NetCdfDataFilename = Rand.NextString(); for (int i = 0; i < Rand.Next(1, 5); i++) { inputs.ModelVarToNcVar.Add(Rand.NextString(), Rand.NextString()); } int numCells = Rand.Next(1, 4); inputs.CellIdentifiers = new string[numCells]; for (int i = 0; i < numCells; i++) { inputs.CellIdentifiers[i] = Rand.NextString(); } // state init SimpleStateForcingInitialization state = (SimpleStateForcingInitialization)mrd.StateInitialization; for (int i = 0; i < Rand.Next(1, 5); i++) { state.InitialStates.Add(Rand.NextString(), Rand.NextDouble()); } // outputs ModelPropertiesOutputRecordingDefinition outputs = (ModelPropertiesOutputRecordingDefinition)mrd.Outputs; for (int i = 0; i < Rand.Next(1, 5); i++) { outputs.RecordedModelOutputs.Add(Rand.NextString()); } // parameterisation ((SimpleParameterization)mrd.Parameterization).ParameterSet = new ParameterSet(typeof(GR4J)); }
private static void AssertThatModelRunDefinitionsAreEqual(XmlSerializableModelRunDefinition a, XmlSerializableModelRunDefinition b) { Assert.That(a.StartDate, Is.EqualTo(b.StartDate)); Assert.That(a.EndDate, Is.EqualTo(b.EndDate)); // inputs ModelInputsDefinition ai = (ModelInputsDefinition)a.Inputs; ModelInputsDefinition bi = (ModelInputsDefinition)b.Inputs; Assert.That(ai.CatchmentIdentifier, Is.EqualTo(bi.CatchmentIdentifier)); Assert.That(ai.StartDate, Is.EqualTo(bi.StartDate)); Assert.That(ai.EndDate, Is.EqualTo(bi.EndDate)); Assert.That(ai.NcIndexVarname, Is.EqualTo(bi.NcIndexVarname)); Assert.That(ai.NetCdfDataFilename, Is.EqualTo(bi.NetCdfDataFilename)); Assert.That(ai.ModelVarToNcVar, Is.EquivalentTo(bi.ModelVarToNcVar)); Assert.That(ai.ModelVarToNcVar.Count, Is.GreaterThan(0)); Assert.That(ai.CellIdentifiers, Is.Not.Null); Assert.That(bi.CellIdentifiers, Is.Not.Null); Assert.That(ai.CellIdentifiers, Is.EquivalentTo(bi.CellIdentifiers)); // state init SimpleStateForcingInitialization asi = (SimpleStateForcingInitialization)a.StateInitialization; SimpleStateForcingInitialization bsi = (SimpleStateForcingInitialization)b.StateInitialization; Assert.That(asi.InitialStates, Is.EquivalentTo(bsi.InitialStates)); Assert.That(asi.InitialStates.Count, Is.GreaterThan(0)); // outputs ModelPropertiesOutputRecordingDefinition ao = (ModelPropertiesOutputRecordingDefinition)a.Outputs; ModelPropertiesOutputRecordingDefinition bo = (ModelPropertiesOutputRecordingDefinition)b.Outputs; Assert.That(ao.RecordedModelOutputs, Is.EquivalentTo(bo.RecordedModelOutputs)); Assert.That(ao.RecordedModelOutputs.Count, Is.GreaterThan(0)); // parameters ParameterSet ap = ((SimpleParameterization)a.Parameterization).ParameterSet; ParameterSet bp = ((SimpleParameterization)b.Parameterization).ParameterSet; Assert.That(ap.Attributes, Is.EquivalentTo(bp.Attributes)); Assert.That(ap.modelType, Is.SameAs(bp.modelType)); Assert.That(ap.Count, Is.EqualTo(bp.Count)); }