public void MoreMatchesOnRight_ShouldNotAffectResults() { var left = IntermediateQueryResult( ScoredToken( 7, ScoredFieldMatch(1D, 1, 34, 99, 104, 320), ScoredFieldMatch(2D, 2, 3)), ScoredToken( 8, ScoredFieldMatch(3D, 2, 80, 91))); var right = IntermediateQueryResult( ScoredToken( 7, ScoredFieldMatch(4D, 1, 3, 9, 35, 100), ScoredFieldMatch(5D, 2, 1, 2, 4)), ScoredToken( 8, ScoredFieldMatch(6D, 1, 8, 9), ScoredFieldMatch(7D, 2, 3, 85)), ScoredToken( 9, ScoredFieldMatch(1D, 1, 45, 100))); var result = PrecedingIntersectMerger.Apply(left, right); result.Should().BeEquivalentTo(expectedResults); }
public void ForMatchingItemsAndFields_ShouldOnlyReturnWordsWhereTheEarliestLeftWordIsBeforeTheWordsOnTheRight() { var left = IntermediateQueryResult( ScoredToken( 7, ScoredFieldMatch(1D, 1, 34, 99, 104, 320), ScoredFieldMatch(2D, 2, 3)), ScoredToken( 8, ScoredFieldMatch(3D, 2, 80, 91))); var right = IntermediateQueryResult( ScoredToken( 7, ScoredFieldMatch(4D, 1, 3, 9, 35, 100), ScoredFieldMatch(5D, 2, 1, 2, 4)), ScoredToken( 8, ScoredFieldMatch(6D, 1, 8, 9), ScoredFieldMatch(7D, 2, 3, 85))); var result = PrecedingIntersectMerger.Apply(left, right); result.Should().BeEquivalentTo(expectedResults); }