{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-markus/src/client/reactive/test/active-groups/cross.spec.js"],"names":["chai","expect","sinon","sinonChai","select","getValueClass","use","ValueClassA","ValueClassB","timeout","instanceA1","instanceB1","baseA","data","baseB","product","cross","now","instanceA2","instanceB2"],"mappings":"AAAA;;;;;;;;;;;;;;;;;AACOA,gB;AAAOC,kB,sBAAAA,M;;AACPC,iB;;AACAC,qB;;AAGAC,kB;;AACEC,yB,mBAAAA,a;;;;;;;;;;;;;;AANKJ,8L;;;;;;;;;;;;;;;;;;;;;;;;;;AAAPD,4L;;;;;;;;;;;;;;;;;;;;;;;;;;AACAE,6L;;;;;;;;;;;;;;;;;;;;;;;;;;AACAC,iM;;;;;;;;;;;;;;;;;;;;AACP,+FAAKG,GAAL,wFAASH,SAAT;;;;;;;;;;AAEOC,8L;;;;;;;;;;;;;;;;;;;;;;;;;;AACEC,qM;;;;;;;;;;;;;;;;;;;AACT,gBAAIE,cAAc,+GAAlB;AAAA,gBACIC,cAAc,+GADlB;;;;;;;;;;AACIA,mM;;;;;;;;;;;;;;;;;;;;;;;;;;AADAD,mM;;;;;;;;;;;;;;;;;;AAGJ,0FAAS,iBAAT,EAA4B,YAAW;AACnC,kFAAG,SAAH,EAAc,YAAW;AAAA;AAAA;;AACrB,yBAAKE,OAAL,CAAa,KAAb;;AAEA,wBAAIC,aAAa,+FAAIH,WAAJ,EAAgB,EAAhB,CAAjB;AACA,wBAAII,aAAa,+FAAIH,WAAJ,EAAgB,EAAhB,CAAjB;AACA,wBAAII,0BAAQ,oLAAOL,WAAP,EAAR,aAAmC,UAASM,IAAT,EAAe;AAAA;;AAClD,+BAAO,4GAAa,EAApB;AACH,qBAFG,EAAJ;AAGA,wBAAIC,0BAAQ,oLAAON,WAAP,EAAR,aAAmC,UAASK,IAAT,EAAe;AAAA;;AAClD,+BAAO,4GAAa,EAApB;AACH,qBAFG,EAAJ;AAGA,wBAAIE,oFAAU,wFAAMC,KAAN,kFAAYF,KAAZ,EAAV,CAAJ;;AAEA,+NAAO,8FAAQG,GAAR,EAAP,iCAAuC,CAAvC;AACA,0OAAO,8FAAQA,GAAR,EAAP,GAAqB,CAArB,0HAAwCP,UAAxC;AACA,0OAAO,8FAAQO,GAAR,EAAP,GAAqB,CAArB,2HAAyCN,UAAzC;;AAEA,wBAAIO,aAAa,+FAAIX,WAAJ,EAAgB,EAAhB,CAAjB;AACA,+NAAO,8FAAQU,GAAR,EAAP,iCAAuC,CAAvC;AACA,0OAAO,8FAAQA,GAAR,EAAP,GAAqB,CAArB,0HAAwCC,UAAxC;AACA,0OAAO,8FAAQD,GAAR,EAAP,GAAqB,CAArB,2HAAyCN,UAAzC;;AAEA,wBAAIQ,aAAa,+FAAIX,WAAJ,EAAgB,EAAhB,CAAjB;AACA,+NAAO,8FAAQS,GAAR,EAAP,iCAAuC,CAAvC;AACA,0OAAO,8FAAQA,GAAR,EAAP,GAAqB,CAArB,0HAAwCP,UAAxC;AACA,0OAAO,8FAAQO,GAAR,EAAP,GAAqB,CAArB,2HAAyCE,UAAzC;AACA,0OAAO,8FAAQF,GAAR,EAAP,GAAqB,CAArB,0HAAwCC,UAAxC;AACA,0OAAO,8FAAQD,GAAR,EAAP,GAAqB,CAArB,2HAAyCE,UAAzC;;AAEA,gJAAmB,EAAnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,+NAAO,8FAAQF,GAAR,EAAP,iCAAuC,CAAvC;AACA,0OAAO,8FAAQA,GAAR,EAAP,GAAqB,CAArB,0HAAwCC,UAAxC;AACA,0OAAO,8FAAQD,GAAR,EAAP,GAAqB,CAArB,2HAAyCN,UAAzC;AACA,0OAAO,8FAAQM,GAAR,EAAP,GAAqB,CAArB,0HAAwCC,UAAxC;AACA,0OAAO,8FAAQD,GAAR,EAAP,GAAqB,CAArB,2HAAyCE,UAAzC;AAEH,iBApCD;AAqCH,aAtCD","file":"cross.spec.js","sourcesContent":["\"enable aexpr\";\nimport chai, {expect} from 'src/external/chai.js';\nimport sinon from 'src/external/sinon-3.2.1.js';\nimport sinonChai from 'src/external/sinon-chai.js';\nchai.use(sinonChai);\n\nimport select from 'active-group';\nimport { getValueClass } from './class-factory.js';\nvar ValueClassA = getValueClass(),\n    ValueClassB = getValueClass();\n\ndescribe('.cross operator', function() {\n    it('Example', function() {\n        this.timeout(10000);\n\n        var instanceA1 = new ValueClassA(42);\n        var instanceB1 = new ValueClassB(43);\n        var baseA = select(ValueClassA).filter(function(data) {\n            return data.value > 30;\n        });\n        var baseB = select(ValueClassB).filter(function(data) {\n            return data.value > 30;\n        });\n        var product = baseA.cross(baseB);\n\n        expect(product.now()).to.have.lengthOf(1);\n        expect(product.now()[0].first).to.equal(instanceA1);\n        expect(product.now()[0].second).to.equal(instanceB1);\n\n        var instanceA2 = new ValueClassA(44);\n        expect(product.now()).to.have.lengthOf(2);\n        expect(product.now()[1].first).to.equal(instanceA2);\n        expect(product.now()[1].second).to.equal(instanceB1);\n\n        var instanceB2 = new ValueClassB(44);\n        expect(product.now()).to.have.lengthOf(4);\n        expect(product.now()[2].first).to.equal(instanceA1);\n        expect(product.now()[2].second).to.equal(instanceB2);\n        expect(product.now()[3].first).to.equal(instanceA2);\n        expect(product.now()[3].second).to.equal(instanceB2);\n\n        instanceA1.value = 17;\n        expect(product.now()).to.have.lengthOf(2);\n        expect(product.now()[0].first).to.equal(instanceA2);\n        expect(product.now()[0].second).to.equal(instanceB1);\n        expect(product.now()[1].first).to.equal(instanceA2);\n        expect(product.now()[1].second).to.equal(instanceB2);\n\n    });\n});\n"]}