Files
bloomfilter.js/test/test.js
Joy Ghosh 696fd5794c Configurable false postive rate
Added constructor arg for false positive rate
2021-04-17 20:34:08 +02:00

38 lines
1.2 KiB
JavaScript

var expect = require("chai").expect;
var bloom = require("../index.js");
var filter = new bloom(1000, 0.01);
describe("BloomFilter tests", function(){
//add and test.
describe("add and test", function(){
it("returns true on calling test function against added value", function(){
filter.add("Some value");
expect(filter.test("Some value")).to.equal(true);
});
});
//test without add.
describe("test without add", function(){
it("returns false when test function is called against a value which is not added", function(){
expect(filter.test("Some other value")).to.equal(false);
});
});
//serialization test.
describe("serialization and deserialization", function(){
it("filter should function properly upon serialization and deserialization", function(){
var serialized = filter.serialize();
var deserialized = bloom.deserialize(serialized);
expect(deserialized.test("Some value")).to.equal(true);
expect(deserialized.test("Some other value")).to.equal(false);
deserialized.add("Some other value");
expect(deserialized.test("Some other value")).to.equal(true);
expect(deserialized.test("Yet another value")).to.equal(false);
});
});
});