public void GetResults_MultiTokenIndex_Success() { var mockedInvertedIndex = new Mock <IInvertedIndex>(); mockedInvertedIndex.Setup(index => index.GetDocumentsOfToken(new Token("first"))) .Returns( new HashSet <Document> { new Document("doc1.txt", "simple/path"), } ); mockedInvertedIndex.Setup(index => index.GetDocumentsOfToken(new Token("second"))) .Returns( new HashSet <Document> { new Document("doc2.txt", "simple/path"), } ); var expected = new HashSet <Document> { new Document("doc1.txt", "simple/path"), new Document("doc2.txt", "simple/path") }; var objectUnderTest = new ExcTerms("-first -second +third"); var actual = objectUnderTest.GetResults(mockedInvertedIndex.Object); Assert.Equal(expected, actual); }
public void Constructor_NoExcs_Success() { var expected = new List <Token>(); var actual = new ExcTerms("first secOnd2 +3rd").Tokens; Assert.Equal(expected, actual); }
public void Constructor_SomeOrs_Success() { var expected = new List <Token> { new Token("first"), new Token("4th"), new Token("5th"), }; var actual = new ExcTerms("-first second2 +3rd -4th -5th").Tokens; Assert.Equal(expected, actual); }
public void Constructor_OnlyExcs_Success() { var expected = new List <Token> { new Token("first"), new Token("second2"), new Token("3rd") }; var actual = new ExcTerms("-fiRst -seCond2 -3Rd").Tokens; Assert.Equal(expected, actual); }
private void CollectTerms(string expression) { Ands = new AndTerms(expression); Ors = new OrTerms(expression); Excs = new ExcTerms(expression); }