Improve output: distinguish between failed assertions (failures) and unexpected exceptions (errors), and print a filtered stack trace for any exception.
This commit is contained in:
commit
4f2e303079
1839 changed files with 235630 additions and 0 deletions
84
webapp/web/src/collections/Set.js
Normal file
84
webapp/web/src/collections/Set.js
Normal file
|
@ -0,0 +1,84 @@
|
|||
/*
|
||||
Copyright (c) 2004-2006, The Dojo Foundation
|
||||
All Rights Reserved.
|
||||
|
||||
Licensed under the Academic Free License version 2.1 or above OR the
|
||||
modified BSD license. For more information on Dojo licensing, see:
|
||||
|
||||
http://dojotoolkit.org/community/licensing.shtml
|
||||
*/
|
||||
|
||||
dojo.provide("dojo.collections.Set");
|
||||
dojo.require("dojo.collections.Collections");
|
||||
dojo.require("dojo.collections.ArrayList");
|
||||
|
||||
// straight up sets are based on arrays or array-based collections.
|
||||
dojo.collections.Set = new function(){
|
||||
this.union = function(setA, setB){
|
||||
if (setA.constructor == Array) var setA = new dojo.collections.ArrayList(setA);
|
||||
if (setB.constructor == Array) var setB = new dojo.collections.ArrayList(setB);
|
||||
if (!setA.toArray || !setB.toArray) dojo.raise("Set operations can only be performed on array-based collections.");
|
||||
var result = new dojo.collections.ArrayList(setA.toArray());
|
||||
var e = setB.getIterator();
|
||||
while(!e.atEnd()){
|
||||
var item=e.get();
|
||||
if(!result.contains(item)){
|
||||
result.add(item);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
};
|
||||
this.intersection = function(setA, setB){
|
||||
if (setA.constructor == Array) var setA = new dojo.collections.ArrayList(setA);
|
||||
if (setB.constructor == Array) var setB = new dojo.collections.ArrayList(setB);
|
||||
if (!setA.toArray || !setB.toArray) dojo.raise("Set operations can only be performed on array-based collections.");
|
||||
var result = new dojo.collections.ArrayList();
|
||||
var e = setB.getIterator();
|
||||
while(!e.atEnd()){
|
||||
var item=e.get();
|
||||
if(setA.contains(item)){
|
||||
result.add(item);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
};
|
||||
// returns everything in setA that is not in setB.
|
||||
this.difference = function(setA, setB){
|
||||
if (setA.constructor == Array) var setA = new dojo.collections.ArrayList(setA);
|
||||
if (setB.constructor == Array) var setB = new dojo.collections.ArrayList(setB);
|
||||
if (!setA.toArray || !setB.toArray) dojo.raise("Set operations can only be performed on array-based collections.");
|
||||
var result = new dojo.collections.ArrayList();
|
||||
var e=setA.getIterator();
|
||||
while(!e.atEnd()){
|
||||
var item=e.get();
|
||||
if(!setB.contains(item)){
|
||||
result.add(item);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
};
|
||||
this.isSubSet = function(setA, setB) {
|
||||
if (setA.constructor == Array) var setA = new dojo.collections.ArrayList(setA);
|
||||
if (setB.constructor == Array) var setB = new dojo.collections.ArrayList(setB);
|
||||
if (!setA.toArray || !setB.toArray) dojo.raise("Set operations can only be performed on array-based collections.");
|
||||
var e = setA.getIterator();
|
||||
while(!e.atEnd()){
|
||||
if(!setB.contains(e.get())){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
};
|
||||
this.isSuperSet = function(setA, setB){
|
||||
if (setA.constructor == Array) var setA = new dojo.collections.ArrayList(setA);
|
||||
if (setB.constructor == Array) var setB = new dojo.collections.ArrayList(setB);
|
||||
if (!setA.toArray || !setB.toArray) dojo.raise("Set operations can only be performed on array-based collections.");
|
||||
var e = setB.getIterator();
|
||||
while(!e.atEnd()){
|
||||
if(!setA.contains(e.get())){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
};
|
||||
}();
|
Loading…
Add table
Add a link
Reference in a new issue