@@ -659,4 +659,53 @@ class QueryTests: XCTestCase {
659659 XCTAssertEqual ( query2. filters, VALUE)
660660 }
661661
662+ func test_exactOnSingleWordQuery( ) {
663+ let query1 = Query ( )
664+ XCTAssertNil ( query1. exactOnSingleWordQuery_)
665+ XCTAssertNil ( query1. exactOnSingleWordQuery)
666+
667+ let ALL_VALUES = [ Query . ExactOnSingleWordQuery. None, Query . ExactOnSingleWordQuery. Word, Query . ExactOnSingleWordQuery. Attribute]
668+ for value in ALL_VALUES {
669+ query1. exactOnSingleWordQuery_ = value
670+ XCTAssertEqual ( query1. exactOnSingleWordQuery_, value)
671+ XCTAssertEqual ( query1. exactOnSingleWordQuery, value. rawValue)
672+ XCTAssertEqual ( query1 [ " exactOnSingleWordQuery " ] , value. rawValue)
673+ let query2 = Query . parse ( query1. build ( ) )
674+ XCTAssertEqual ( query2. exactOnSingleWordQuery_, value)
675+
676+ query1. exactOnSingleWordQuery = value. rawValue
677+ XCTAssertEqual ( query1. exactOnSingleWordQuery_, value)
678+ XCTAssertEqual ( query1. exactOnSingleWordQuery, value. rawValue)
679+ XCTAssertEqual ( query1 [ " exactOnSingleWordQuery " ] , value. rawValue)
680+ }
681+
682+ query1 [ " exactOnSingleWordQuery " ] = " invalid "
683+ XCTAssertNil ( query1. exactOnSingleWordQuery_)
684+ XCTAssertNil ( query1. exactOnSingleWordQuery)
685+
686+ query1. exactOnSingleWordQuery = " invalid "
687+ XCTAssertNil ( query1 [ " exactOnSingleWordQuery " ] )
688+ XCTAssertNil ( query1. exactOnSingleWordQuery_)
689+ XCTAssertNil ( query1. exactOnSingleWordQuery)
690+ }
691+
692+ func test_alternativesAsExact( ) {
693+ let query1 = Query ( )
694+ XCTAssertNil ( query1. alternativesAsExact_)
695+ XCTAssertNil ( query1. alternativesAsExact)
696+
697+ let VALUES = [ Query . AlternativesAsExact. IgnorePlurals, Query . AlternativesAsExact. SingleWordSynonym, Query . AlternativesAsExact. MultiWordsSynonym]
698+ let RAW_VALUES = [ " ignorePlurals " , " singleWordSynonym " , " multiWordsSynonym " ]
699+ query1. alternativesAsExact_ = VALUES
700+ XCTAssertEqual ( query1. alternativesAsExact_!, VALUES)
701+ XCTAssertEqual ( query1. alternativesAsExact!, RAW_VALUES)
702+ XCTAssertEqual ( query1 [ " alternativesAsExact " ] , RAW_VALUES . joinWithSeparator ( " , " ) )
703+ let query2 = Query . parse ( query1. build ( ) )
704+ XCTAssertEqual ( query2. alternativesAsExact_!, VALUES)
705+
706+ query1. alternativesAsExact = RAW_VALUES
707+ XCTAssertEqual ( query1. alternativesAsExact_!, VALUES)
708+ XCTAssertEqual ( query1. alternativesAsExact!, RAW_VALUES)
709+ XCTAssertEqual ( query1 [ " alternativesAsExact " ] , RAW_VALUES . joinWithSeparator ( " , " ) )
710+ }
662711}
0 commit comments