void QTestBasicStreamer::output(QTestElement *element) const { if(!element) return; outputElements(element); }
void QTestXunitStreamer::output(QTestElement *element) const { QTEST_ASSERT(element); outputString("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"); outputElements(element); }
void QTestBasicStreamer::outputElements(QTestElement *element, bool) const { QTestCharBuffer buf; bool hasChildren; /* Elements are in reverse order of occurrence, so start from the end and work our way backwards. */ while (element && element->nextElement()) { element = element->nextElement(); } while (element) { hasChildren = element->childElements(); formatStart(element, &buf); outputString(buf.data()); formatBeforeAttributes(element, &buf); outputString(buf.data()); outputElementAttributes(element, element->attributes()); formatAfterAttributes(element, &buf); outputString(buf.data()); if(hasChildren) outputElements(element->childElements(), true); formatEnd(element, &buf); outputString(buf.data()); element = element->previousElement(); } }
model::DynamicMap LoadMap<model::DynamicMap, MapLoadArguments::MapType::simpleMap>(const MapLoadArguments& mapLoadArguments) { if (mapLoadArguments.HasMapFilename()) { return common::LoadMap<model::DynamicMap>(mapLoadArguments.inputMapFilename); } else if (mapLoadArguments.HasModelFilename()) { auto model = common::LoadModel(mapLoadArguments.inputModelFilename); model::InputNodeBase* inputNode = nullptr; model::PortElementsBase outputElements; if (mapLoadArguments.modelInputsString != "") { inputNode = mapLoadArguments.GetInput(model); if (inputNode == nullptr) { throw utilities::InputException(utilities::InputExceptionErrors::invalidArgument, "Can't find input node"); } } else // look for first input node { auto inputNodes = model.GetNodesByType<model::InputNodeBase>(); if (inputNodes.size() == 0) { throw utilities::InputException(utilities::InputExceptionErrors::invalidArgument, "Can't find input node"); } inputNode = inputNodes[0]; } if (mapLoadArguments.modelOutputsString != "") { outputElements = mapLoadArguments.GetOutput(model); } else // look for first output node { auto outputNodes = model.GetNodesByType<model::OutputNodeBase>(); if (outputNodes.size() == 0) { throw utilities::InputException(utilities::InputExceptionErrors::invalidArgument, "Can't find output node"); } auto outputNode = outputNodes[0]; auto outputPorts = outputNode->GetOutputPorts(); if (outputPorts.size() == 0) { throw utilities::InputException(utilities::InputExceptionErrors::invalidArgument, "Can't find output port"); } auto outputPort = outputPorts[0]; // ptr to port base outputElements = model::PortElementsBase(*outputPort); } return { model, { { "input", inputNode } }, { { "output", outputElements } } }; } else // No model / map file specified -- return an identity map { model::Model model; auto inputNode = model.AddNode<model::InputNode<double>>(mapLoadArguments.defaultInputSize); model::PortElements<double> outputElements(inputNode->output); return { model, { { "input", inputNode } }, { { "output", outputElements } } }; } }