function testPropertiesConstraint() { parent::$logger->debug('testPropertiesConstraint'); $options = new MLPHP\Options(parent::$client); $constraint = new MLPHP\PropertiesConstraint("myProperty"); $options->addConstraint($constraint); $this->assertXmlStringEqualsXmlString(' <options xmlns="http://marklogic.com/appservices/search"> <constraint name="myProperty"> <properties /> </constraint> </options> ', $options->getAsXML()); }
function testCollectionConstraint() { parent::$logger->debug('testCollectionConstraint'); $options = new MLPHP\Options(parent::$client); $constraint = new MLPHP\CollectionConstraint("cat", "category/"); $options->addConstraint($constraint); $this->assertXmlStringEqualsXmlString(' <options xmlns="http://marklogic.com/appservices/search"> <constraint name="cat"> <collection prefix="category/"/> </constraint> </options> ', $options->getAsXML()); }
function testElementQueryConstraint() { parent::$logger->debug('testElementQueryConstraint'); $options = new MLPHP\Options(parent::$client); $constraint = new MLPHP\ElementQueryConstraint("sample-element-constraint", "title", "http://my/namespace"); $options->addConstraint($constraint); $this->assertXmlStringEqualsXmlString(' <options xmlns="http://marklogic.com/appservices/search"> <constraint name="sample-element-constraint"> <element-query name="title" ns="http://my/namespace" /> </constraint> </options> ', $options->getAsXML()); }
function testFieldWordConstraint() { parent::$logger->debug('testFieldWordConstraint'); $options = new MLPHP\Options(parent::$client); $constraint = new MLPHP\FieldWordConstraint('myName', 'myField'); $options->addConstraint($constraint); $this->assertXmlStringEqualsXmlString(' <options xmlns="http://marklogic.com/appservices/search"> <constraint name="myName"> <word> <field name="myField"/> </word> </constraint> </options> ', $options->getAsXML()); }
function testWordConstraint() { parent::$logger->debug('testWordConstraint'); $options = new MLPHP\Options(parent::$client); $constraint = new MLPHP\WordConstraint('myConstr', 'foo', 'http://example.com/foo', 'barAttr', 'http://example.com/bar'); $options->addConstraint($constraint); $this->assertXmlStringEqualsXmlString(' <options xmlns="http://marklogic.com/appservices/search"> <constraint name="myConstr"> <word> <element ns="http://example.com/foo" name="foo"/> <attribute ns="http://example.com/bar" name="barAttr"/> </word> </constraint> </options> ', $options->getAsXML()); }
function testPathRangeConstraintTest() { parent::$logger->debug('testPathRangeConstraintTest'); $options = new MLPHP\Options(parent::$client); $constraint = new MLPHP\PathRangeConstraint('myConstraint', 'string', 'false', '/foo/bar/@baz'); $options->addConstraint($constraint); $this->assertXmlStringEqualsXmlString(' <options xmlns="http://marklogic.com/appservices/search"> <constraint name="myConstraint"> <range type="string" facet="false" collation="http://marklogic.com/collation/"> <path-index>/foo/bar/@baz</path-index> </range> </constraint> </options> ', $options->getAsXML()); }
function testFieldRangeConstraint() { parent::$logger->debug('testFieldRangeConstraint'); $options = new MLPHP\Options(parent::$client); $constraint = new MLPHP\FieldRangeConstraint('myConstraint', 'xs:string', 'false', 'myField'); $options->addConstraint($constraint); $this->assertXmlStringEqualsXmlString(' <options xmlns="http://marklogic.com/appservices/search"> <constraint name="myConstraint"> <range type="xs:string" facet="false" collation="http://marklogic.com/collation/"> <field name="myField"/> </range> </constraint> </options> ', $options->getAsXML()); }
function testExtracts() { parent::$logger->debug('testExtracts'); $options = new MLPHP\Options(parent::$client); $extracts = new MLPHP\Extracts(); $extracts->addConstraints('foo'); $extracts->addQName('bar', 'http://example.com/bar', 'baz', 'http://example.com/baz'); $options->setExtracts($extracts); $this->assertXmlStringEqualsXmlString(' <options xmlns="http://marklogic.com/appservices/search"> <extract-metadata> <constraint-value ref="foo"/> <qname elem-name="bar" elem-ns="http://example.com/bar" attr-name="baz" attr-ns="http://example.com/baz"/> </extract-metadata> </options> ', $options->getAsXML()); }
function testValuesCollection() { parent::$logger->debug('testValuesCollection'); $options3 = new MLPHP\Options(parent::$client); $values3 = new MLPHP\Values("myValues3"); $values3->setUpCollection(); $values3->setAggregate('sum'); $values3->setValuesOptions(['limit=10']); $options3->addValues($values3); $this->assertXmlStringEqualsXmlString(' <options xmlns="http://marklogic.com/appservices/search"> <values name="myValues3"> <collection/> <aggregate apply="sum"/> <values-option>limit=10</values-option> </values> </options> ', $options3->getAsXML()); }
function testTransformResults() { parent::$logger->debug('testTransformResults'); $options = new MLPHP\Options(parent::$client); $tr = new MLPHP\TransformResults('myTransform'); $pe1 = new MLPHP\PreferredElement('foo', 'http://example.com/foo'); $pe2 = new MLPHP\PreferredElement('bar', 'http://example.com/bar'); $tr->addPreferredElements([$pe1, $pe2]); $options->setTransformResults($tr); $this->assertXmlStringEqualsXmlString(' <options xmlns="http://marklogic.com/appservices/search"> <transform-results apply="myTransform"> <preferred-elements> <element name="foo" ns="http://example.com/foo"/> <element name="bar" ns="http://example.com/bar"/> </preferred-elements> </transform-results> </options> ', $options->getAsXML()); }
function testTerm() { parent::$logger->debug('testTerm'); $options = new MLPHP\Options(parent::$client); $term = new MLPHP\Term("all-results"); $term->setTermOptions(['unwildcarded']); $constraint = new MLPHP\PropertiesConstraint("myProperty"); $term->setDefault($constraint); $options->setTerm($term); $this->assertXmlStringEqualsXmlString(' <options xmlns="http://marklogic.com/appservices/search"> <term> <empty apply="all-results"/> <term-option>unwildcarded</term-option> <default> <properties/> </default> </term> </options> ', $options->getAsXML()); }
function testRangeBucketConstraint() { parent::$logger->debug('testRangeBucketConstraint'); $options3 = new MLPHP\Options(parent::$client); $constraint3 = new MLPHP\RangeConstraint('myConstr3', 'string', 'true', 'foo'); $buck1 = new MLPHP\Bucket('low', array('lt' => 10)); $buck2 = new MLPHP\Bucket('high', array('ge' => 10, 'lt' => 20)); $constraint3->addBuckets(array($buck1, $buck2)); $options3->addConstraint($constraint3); $this->assertXmlStringEqualsXmlString(' <options xmlns="http://marklogic.com/appservices/search"> <constraint name="myConstr3"> <range type="string" facet="true"> <element ns="" name="foo"/> <bucket name="low" lt="10" /> <bucket name="high" ge="10" lt="20" /> </range> </constraint> </options> ', $options3->getAsXML()); }