public void BiasingParametersLocaleInfoConstructor() { var localeInfo = new BiasingParameters.LocaleInfo(); Assert.AreEqual(string.Empty, localeInfo.Name); Assert.AreEqual(0, localeInfo.ReactionCount); Assert.IsEmpty(localeInfo.Reactions); }
public void BiasingParametersLocaleInfoName() { const string name = "test"; var localeInfo = new BiasingParameters.LocaleInfo { Name = name }; Assert.AreEqual(name, localeInfo.Name); }
public void Initialize() { CheckParameters(); _rareEventValue = model.Parameters.First(p => p.Name == _reValName).Value; _rareEventTest = new EqualTo(_reExpression, new ConstantValue(_rareEventValue)); SetRareEventType(); if (_biasingParametersFlag) { for (int i = 0; i < _reactions.NumReactions; i++) { _gamma.Add(new double[_gammaSize]); _propensityCutoff.Add(new double[_gammaSize - 1]); } _biasingParameters.RareEvent.ExpressionLocale = "global"; _biasingParameters.RareEvent.ExpressionName = _reExpressionName; foreach (var locale in modelInfo.Locales) { var newLocaleInfo = new BiasingParameters.LocaleInfo { Name = locale.Name }; var newReactionInfo = newLocaleInfo.Reactions; LocaleInfo testLocale = locale; var reactions = modelInfo.Reactions.Where(r => r.Locale == testLocale); newReactionInfo.AddRange(reactions.Select(reaction => new BiasingParameters.ReactionInfo { Name = reaction.Name })); _biasingParameters.Locales.Add(newLocaleInfo); } } else { for (int i = 0; i < _reactions.NumReactions; i++) { var localeIndex = LocaleIndex(_reactions.Reactions[i]); var reactionIndex = ReactionIndex(_reactions.Reactions[i], localeIndex); var tempRareEvent = _biasingParameters.Locales[localeIndex].Reactions[reactionIndex].RareEvents[_biasingParameters.RareEvent.IntermediateRareEventCount - 1]; _gamma.Add(tempRareEvent.Gammas); _propensityCutoff.Add(tempRareEvent.Thresholds); } } }
public void BiasingParametersLocaleInfoReactions() { var localeInfo = new BiasingParameters.LocaleInfo { Name = "bar" }; var rareEventInfo = new BiasingParameters.RareEventInfo { BinCount = 42 }; rareEventInfo.Gammas[0] = Math.E; rareEventInfo.Thresholds[1] = Math.PI; var reactionInfo = new BiasingParameters.ReactionInfo { Name = "foo" }; reactionInfo.RareEvents.Add(rareEventInfo); localeInfo.Reactions.Add(reactionInfo); Assert.AreEqual(1, localeInfo.ReactionCount); Assert.IsNotEmpty(localeInfo.Reactions); Assert.AreEqual(reactionInfo, localeInfo.Reactions[0]); }