1
0
Fork 0

added test cases for update and delete

This commit is contained in:
Jan Steemann 2012-12-04 11:46:49 +01:00
parent 5742ab6fba
commit dc9f84fc60
1 changed files with 79 additions and 1 deletions

View File

@ -111,6 +111,84 @@ function fulltextQuerySuite () {
assertEqual(0, collection.FULLTEXT(idx, "grubbish").documents.length);
},
////////////////////////////////////////////////////////////////////////////////
/// @brief test updates
////////////////////////////////////////////////////////////////////////////////
testUpdates: function () {
var d1 = collection.save({ text: "Some people like bananas, but others like tomatoes" });
var d2 = collection.save({ text: "Several people hate oranges, but many like them" });
assertEqual(1, collection.FULLTEXT(idx, "like,bananas").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "like,tomatoes").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "oranges,hate").documents.length);
assertEqual(2, collection.FULLTEXT(idx, "people").documents.length);
assertEqual(2, collection.FULLTEXT(idx, "but").documents.length);
collection.update(d1, { text: "bananas are delicious" });
assertEqual(1, collection.FULLTEXT(idx, "bananas").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "delicious").documents.length);
assertEqual(0, collection.FULLTEXT(idx, "like,bananas").documents.length);
assertEqual(0, collection.FULLTEXT(idx, "like,tomatoes").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "oranges,hate").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "people").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "but").documents.length);
collection.update(d2, { text: "seems that some where still left!" });
assertEqual(1, collection.FULLTEXT(idx, "bananas").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "bananas,delicious").documents.length);
assertEqual(0, collection.FULLTEXT(idx, "bananas,like").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "seems,left").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "delicious").documents.length);
assertEqual(0, collection.FULLTEXT(idx, "oranges").documents.length);
assertEqual(0, collection.FULLTEXT(idx, "people").documents.length);
},
////////////////////////////////////////////////////////////////////////////////
/// @brief test deletes
////////////////////////////////////////////////////////////////////////////////
testDeletes: function () {
var d1 = collection.save({ text: "Some people like bananas, but others like tomatoes" });
var d2 = collection.save({ text: "Several people hate oranges, but many like them" });
var d3 = collection.save({ text: "A totally unrelated text is inserted into the index, too" });
assertEqual(1, collection.FULLTEXT(idx, "like,bananas").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "like,tomatoes").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "oranges,hate").documents.length);
assertEqual(2, collection.FULLTEXT(idx, "people").documents.length);
assertEqual(2, collection.FULLTEXT(idx, "but").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "totally,unrelated").documents.length);
collection.remove(d1);
assertEqual(0, collection.FULLTEXT(idx, "bananas").documents.length);
assertEqual(0, collection.FULLTEXT(idx, "like,bananas").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "like").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "oranges,hate").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "people").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "unrelated,text,index").documents.length);
collection.remove(d3);
assertEqual(0, collection.FULLTEXT(idx, "bananas").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "like").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "oranges,hate").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "people").documents.length);
assertEqual(0, collection.FULLTEXT(idx, "unrelated,text,index").documents.length);
assertEqual(0, collection.FULLTEXT(idx, "unrelated").documents.length);
assertEqual(0, collection.FULLTEXT(idx, "text").documents.length);
assertEqual(0, collection.FULLTEXT(idx, "index").documents.length);
collection.remove(d2);
assertEqual(0, collection.FULLTEXT(idx, "bananas").documents.length);
assertEqual(0, collection.FULLTEXT(idx, "like").documents.length);
assertEqual(0, collection.FULLTEXT(idx, "oranges").documents.length);
assertEqual(0, collection.FULLTEXT(idx, "hat").documents.length);
assertEqual(0, collection.FULLTEXT(idx, "people").documents.length);
assertEqual(0, collection.FULLTEXT(idx, "unrelated").documents.length);
assertEqual(0, collection.FULLTEXT(idx, "text").documents.length);
assertEqual(0, collection.FULLTEXT(idx, "index").documents.length);
},
////////////////////////////////////////////////////////////////////////////////
/// @brief case sensivity
////////////////////////////////////////////////////////////////////////////////
@ -376,7 +454,7 @@ function fulltextQuerySuite () {
assertEqual(1, collection.FULLTEXT(idx, "Stanisława,Niesiołowski,przestraszone,szczypię").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "uniesť").documents.length);
assertEqual(1, collection.FULLTEXT(idx, "uniesť,mladú").documents.length);
},
}
};
}