public ITreeNode CreateGroupNodeFor(IGroup rootGroup, IReadOnlyCollection <IParameter> allParameters) { var rootNode = _parameterGroupNodeCreator.MapForPopulationFrom(rootGroup, allParameters); foreach (var groupNode in rootNode.AllNodes.ToList()) { var group = groupNode.TagAsObject.DowncastTo <IGroup>(); addNodesForParametersUnder(groupNode, allParametersIn(group, allParameters)); } return(rootNode); }
protected override void Context() { _parameterGroupTask = A.Fake <IParameterGroupTask>(); _representationInfoRepository = A.Fake <IRepresentationInfoRepository>(); _treeNodeCreator = A.Fake <IParameterGroupNodeCreator>(); _fullPathDisplayResolver = A.Fake <IFullPathDisplayResolver>(); _toolTipPartCreator = A.Fake <IToolTipPartCreator>(); _treeNodeFactory = new TreeNodeFactoryForSpecs(); A.CallTo(() => _representationInfoRepository.InfoFor(A <IObjectBase> ._)) .ReturnsLazily(x => new RepresentationInfo { DisplayName = x.GetArgument <IObjectBase>(0).Name }); A.CallTo(() => _representationInfoRepository.DisplayNameFor(A <IObjectBase> ._)) .ReturnsLazily(x => x.GetArgument <IObjectBase>(0).Name); _pathElementsMapper = new PKSimPathToPathElementsMapper(_representationInfoRepository, new EntityPathResolverForSpecs()); sut = new PopulationGroupNodeCreator(_treeNodeCreator, _parameterGroupTask, _treeNodeFactory, _fullPathDisplayResolver, _toolTipPartCreator, _pathElementsMapper); _para1 = new PKSimParameter().WithId("P1").WithName("P1"); _para2 = new PKSimParameter().WithId("P2").WithName("P2"); _allParameters = new List <IParameter> { _para1, _para2 }; _rootGroup = new Group { Name = "group1" }; _subGroup = new Group { Name = "subGroup" }; _subGroupNode = new GroupNode(_subGroup); _rootNode = new GroupNode(_rootGroup); _rootNode.AddChild(_subGroupNode); A.CallTo(() => _treeNodeCreator.MapForPopulationFrom(_rootGroup, _allParameters)).Returns(_rootNode); A.CallTo(() => _parameterGroupTask.ParametersIn(_subGroup, _allParameters)).Returns(_allParameters); A.CallTo(() => _parameterGroupTask.ParametersIn(_rootGroup, _allParameters)).Returns(new List <IParameter>()); _liver = new Container().WithName("Liver").WithId("Liver"); _kidney = new Container().WithName("Kidney").WithId("Kidney"); }