Skip to content
Snippets Groups Projects
Commit 02f2f6b0 authored by Kevin Jahns's avatar Kevin Jahns
Browse files

wrap up todays session

parent e47dee53
No related branches found
No related tags found
No related merge requests found
...@@ -21,6 +21,22 @@ function getRandomNumber(n) { ...@@ -21,6 +21,22 @@ function getRandomNumber(n) {
return Math.floor(Math.random() * n); return Math.floor(Math.random() * n);
} }
var keys = ["a", "b", "c", "d", "e", "f", 1, 2, 3, 4, 5, 6]; var keys = ["a", "b", "c", "d", "e", "f", 1, 2, 3, 4, 5, 6];
var numberOfTests = 500;
function applyRandomTransactions (users, transactions) {
function* randomTransaction (root) {
var f = getRandom(transactions);
yield* f(root);
}
for(var i = 0; i < numberOfTests; i++) {
var r = getRandomNumber(100);
if (r >= 50) {
users[0].connector.flushOne();
} else {
getRandom(users).transact(randomTransaction);
}
}
}
function compareAllUsers(users){ function compareAllUsers(users){
var s1, s2; var s1, s2;
...@@ -47,7 +63,6 @@ function compareAllUsers(users){ ...@@ -47,7 +63,6 @@ function compareAllUsers(users){
describe("Yjs", function(){ describe("Yjs", function(){
jasmine.DEFAULT_TIMEOUT_INTERVAL = 500; jasmine.DEFAULT_TIMEOUT_INTERVAL = 500;
var numberOfTests = 400;
beforeEach(function(){ beforeEach(function(){
this.users = []; this.users = [];
for (var i = 0; i < 5; i++) { for (var i = 0; i < 5; i++) {
...@@ -180,20 +195,13 @@ describe("Yjs", function(){ ...@@ -180,20 +195,13 @@ describe("Yjs", function(){
yield* map.val("getRandom(keys)", getRandomNumber()); yield* map.val("getRandom(keys)", getRandomNumber());
} }
]; ];
it(`succeed after ${numberOfTests} actions`, function(){ it(`succeed after ${numberOfTests} actions with flush before transactions`, function(){
this.users[0].connector.flushAll(); // TODO: Remove!! this.users[0].connector.flushAll(); // TODO: Remove!!
function* randomTransaction (root) { applyRandomTransactions(this.users, randomMapTransactions);
var f = getRandom(randomMapTransactions); compareAllUsers(this.users);
yield* f(root); });
} it(`succeed after ${numberOfTests} actions without flush before transactions`, function(){
for(var i = 0; i < numberOfTests; i++) { applyRandomTransactions(this.users, randomMapTransactions);
var r = getRandomNumber(100);
if (r >= 50) {
this.users[0].connector.flushOne();
} else {
getRandom(this.users).transact(randomTransaction);
}
}
compareAllUsers(this.users); compareAllUsers(this.users);
}); });
}); });
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment