//>>built define("dstore/tests/Memory","intern!object intern/chai!assert dojo/_base/declare ./sorting dstore/Memory dstore/QueryMethod".split(" "),function(h,c,g,k,e,l){var b,m=g(null,{constructor:function(a){g.safeMixin(this,a)}});h({name:"dstore Memory",beforeEach:function(){b=new e({data:[{id:1,name:"one",prime:!1,mappedTo:"E",nested:{a:5}},{id:2,name:"two",even:!0,prime:!0,mappedTo:"D",nested:{a:4}},{id:3,name:"three",prime:!0,mappedTo:"C",nested:{a:3}},{id:4,name:"four",even:!0,prime:!1,mappedTo:null, nested:{a:2}},{id:5,name:"five",prime:!0,mappedTo:"A",nested:{a:1}}],Model:m,filterFunction:function(a){return"two"===a.name}});b.Model.prototype.describe=function(){return this.name+" is "+(this.prime?"":"not ")+"a prime"}},getSync:function(){c.strictEqual(b.getSync(1).name,"one");c.strictEqual(b.getSync(4).name,"four");c.isTrue(b.getSync(5).prime)},get:function(){return b.get(1).then(function(a){c.strictEqual(a.name,"one")})},"fetchSync and fetchRangeSync results.totalLength":function(){var a=b.fetchSync(), d=b.fetchRangeSync({start:0,end:1});c.isNumber(a.totalLength);c.isNumber(d.totalLength);c(a.totalLength,a.length);c.strictEqual(d.totalLength,a.totalLength)},Model:function(){c.strictEqual(b.getSync(1).describe(),"one is not a prime");c.strictEqual(b.getSync(3).describe(),"three is a prime");c.strictEqual(b.filter({even:!0}).fetchSync()[1].describe(),"four is not a prime")},"no Model":function(){var a=new e({data:[{id:1,name:"one",prime:!1,mappedTo:"E"}],Model:null});c.strictEqual(a.getSync(1).get, void 0);c.strictEqual(a.getSync(1).save,void 0)},filter:function(){var a=new b.Filter;c.strictEqual(b.filter(a.eq("prime",!0)).fetchSync().length,3);var d=0;b.filter(a.eq("prime",!0)).fetch().forEach(function(a){d++;c.equal(a.prime,!0)});c.equal(d,3);c.strictEqual(b.filter({even:!0}).fetchSync()[1].name,"four")},"async filter":function(){var a=new b.Filter;return b.filter(a.eq("even",!0)).fetch().then(function(a){c.strictEqual(a.length,2)})},"filter with string":function(){c.strictEqual(b.filter({name:"two"}).fetchSync().length, 1);c.strictEqual(b.filter({name:"two"}).fetchSync()[0].name,"two")},"filter with regexp":function(){c.strictEqual(b.filter({name:/^t/}).fetchSync().length,2);c.strictEqual(b.filter({name:/^t/}).fetchSync()[1].name,"three");c.strictEqual(b.filter({name:/^o/}).fetchSync().length,1);c.strictEqual(b.filter({name:/o/}).fetchSync().length,3)},"filter with or":function(){var a=new b.Filter,a=a.or(a.eq("prime",!0),a.eq("even",!0));c.strictEqual(b.filter(a).fetchSync().length,4)},"filter with gt and lt":function(){var a= new b.Filter,d=a.gt("id",2).lt("id",5);c.strictEqual(b.filter(d).fetchSync().length,2);d={id:a.gt(2)};c.strictEqual(b.filter(d).fetchSync().length,3);a=a.gte("id",2).lte("id",5);c.strictEqual(b.filter(a).fetchSync().length,4)},"filter with nested gt and lt":function(){var a=new b.Filter,d=a.gt("nested.a",2).lt("nested.a",5);c.strictEqual(b.filter(d).fetchSync().length,2);d={"nested.a":a.gt(2)};c.strictEqual(b.filter(d).fetchSync().length,3);a=a.gte("nested.a",2).lte("nested.a",5);c.strictEqual(b.filter(a).fetchSync().length, 4)},"filter with test function":function(){c.strictEqual(b.filter({id:{test:function(a){return 4>a}}}).fetchSync().length,3);c.strictEqual(b.filter({even:{test:function(a,c){return a&&2=a.id});b.sort("id");var a=b.fetchRangeSync({start:0,end:3});c.strictEqual(a.totalLength,5);c.strictEqual(a.length, 3)},"composite key":function(){var a=new e({data:[{x:1,y:1,name:"1,1"},{x:2,y:1,name:"2,1"},{x:1,y:2,name:"1,2"},{x:2,y:2,name:"2,2"}],getIdentity:function(a){return a.x+","+a.y}});c.equal(a.getSync("1,1").name,"1,1");c.equal(a.getIdentity(a.getSync("1,2")),"1,2");a.add({x:3,y:2,name:"3,2"});c.equal(a.getSync("3,2").name,"3,2");a.put({x:1,y:1,name:"changed"});c.equal(a.getSync("1,1").name,"changed")},"source collection.data does not become subcollection.data":function(){var a=b.filter({prime:!0}); a.fetchSync();c.isDefined(a.data);var d=a.filter({id:1});d.fetchSync();c.notDeepEqual(a.data,d.data)},"subclasses can provide initial `data` at runtime":function(){var a=[1,2,3],b=new (g(e,{constructor:function(){this.data=a},setData:function(a){this.actualData=a;this.inherited(arguments)}}));c.deepEqual(b.actualData,a)},"sorting with null and numbers":function(){var a=new e({data:[{id:1,value:1},{id:2,value:2},{id:3,value:null},{id:4,value:-1}]}),b=a.sort("value").fetchSync();c.equal(b[0].id,4); c.equal(b[1].id,1);c.equal(b[2].id,2);c.equal(b[3].id,3);b=a.sort("value",!0).fetchSync();c.equal(b[0].id,3);c.equal(b[1].id,2);c.equal(b[2].id,1);c.equal(b[3].id,4)},"sorting with null and strings":function(){var a=new e({data:[{id:1,value:"a"},{id:2,value:"b"},{id:3,value:null},{id:4,value:""}]}),b=a.sort("value").fetchSync();c.equal(b[0].id,4);c.equal(b[1].id,1);c.equal(b[2].id,2);c.equal(b[3].id,3);b=a.sort("value",!0).fetchSync();c.equal(b[0].id,3);c.equal(b[1].id,2);c.equal(b[2].id,1);c.equal(b[3].id, 4)},nestedSuite:k("dstore Memory sorting",function(a){return function(){b=new e({data:a})}},function(){return b.sort.apply(b,arguments).fetchSync()})})}); //# sourceMappingURL=Memory.js.map