123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384 |
- smalltalk.addPackage('Trapped-Tests', {});
- smalltalk.addClass('IsolatorTest', smalltalk.TestCase, ['rootModel'], 'Trapped-Tests');
- smalltalk.addMethod(
- "_setUp",
- smalltalk.method({
- selector: "setUp",
- category: 'running',
- fn: function (){
- var self=this;
- var $1,$2;
- $1=smalltalk.send((smalltalk.EavModel || EavModel),"_new",[]);
- smalltalk.send($1,"_getBlock_",[(function(x){
- return smalltalk.send(x,"_root",[]);
- })]);
- $2=smalltalk.send($1,"_putBlock_",[(function(x,y){
- return smalltalk.send(x,"_root_",[y]);
- })]);
- self["@rootModel"]=$2;
- return self},
- args: [],
- source: "setUp\x0a\x0arootModel := EavModel new\x0a\x09getBlock: [:x | x root];\x0a putBlock: [:x :y | x root: y].\x0a",
- messageSends: ["getBlock:", "root", "new", "putBlock:", "root:"],
- referencedClasses: ["EavModel"]
- }),
- smalltalk.IsolatorTest);
- smalltalk.addMethod(
- "_testNontrivialModelGetsAppropriateValueForModification",
- smalltalk.method({
- selector: "testNontrivialModelGetsAppropriateValueForModification",
- category: 'tests',
- fn: function (){
- var self=this;
- var $1,$2;
- var isolator;
- var model;
- var result;
- result=nil;
- isolator=smalltalk.send((smalltalk.Isolator || Isolator),"_on_",[smalltalk.HashedCollection._fromPairs_([smalltalk.send("foo","__minus_gt",[["bar", [(1), [(2), (5)]], "baz"]]),smalltalk.send("moo","__minus_gt",["zoo"])])]);
- $1=smalltalk.send((smalltalk.EavModel || EavModel),"_new",[]);
- smalltalk.send($1,"_getBlock_",[(function(x){
- return smalltalk.send(smalltalk.send(smalltalk.send(x,"_root",[]),"_at_",["foo"]),"_at_",[(2)]);
- })]);
- $2=smalltalk.send($1,"_putBlock_",[(function(x,y){
- return smalltalk.send(smalltalk.send(smalltalk.send(x,"_root",[]),"_at_",["foo"]),"_at_put_",[(2),y]);
- })]);
- model=$2;
- smalltalk.send(isolator,"_model_modify_",[model,(function(r){
- result=r;
- return result;
- })]);
- smalltalk.send(self,"_assert_equals_",[[(1), [(2), (5)]],result]);
- return self},
- args: [],
- source: "testNontrivialModelGetsAppropriateValueForModification\x0a| isolator model result |\x0aresult := nil.\x0aisolator := Isolator on: #{ 'foo' -> #('bar' #(1 #(2 5)) 'baz'). 'moo' -> 'zoo' }.\x0amodel := EavModel new\x0a\x09getBlock: [ :x | (x root at: 'foo') at: 2 ];\x0a\x09putBlock: [ :x :y | (x root at: 'foo') at: 2 put: y].\x0aisolator model: model modify: [:r|result := r].\x0aself assert: #(1 #(2 5)) equals: result\x0a",
- messageSends: ["on:", "->", "getBlock:", "at:", "root", "new", "putBlock:", "at:put:", "model:modify:", "assert:equals:"],
- referencedClasses: ["Isolator", "EavModel"]
- }),
- smalltalk.IsolatorTest);
- smalltalk.addMethod(
- "_testNontrivialModelModifiesAppropriateValue",
- smalltalk.method({
- selector: "testNontrivialModelModifiesAppropriateValue",
- category: 'tests',
- fn: function (){
- var self=this;
- var $1,$2;
- var isolator;
- var model;
- var result;
- result=nil;
- isolator=smalltalk.send((smalltalk.Isolator || Isolator),"_on_",[smalltalk.HashedCollection._fromPairs_([smalltalk.send("foo","__minus_gt",[["bar", [(1), [(2), (3)]], "baz"]]),smalltalk.send("moo","__minus_gt",["zoo"])])]);
- $1=smalltalk.send((smalltalk.EavModel || EavModel),"_new",[]);
- smalltalk.send($1,"_getBlock_",[(function(x){
- return smalltalk.send(smalltalk.send(smalltalk.send(x,"_root",[]),"_at_",["foo"]),"_at_",[(2)]);
- })]);
- $2=smalltalk.send($1,"_putBlock_",[(function(x,y){
- return smalltalk.send(smalltalk.send(smalltalk.send(x,"_root",[]),"_at_",["foo"]),"_at_put_",[(2),y]);
- })]);
- model=$2;
- smalltalk.send(isolator,"_model_modify_",[model,(function(r){
- return smalltalk.symbolFor("new");
- })]);
- smalltalk.send(isolator,"_model_read_",[model,(function(r){
- result=r;
- return result;
- })]);
- smalltalk.send(self,"_assert_equals_",[smalltalk.symbolFor("new"),result]);
- smalltalk.send(isolator,"_model_read_",[self["@rootModel"],(function(r){
- result=r;
- return result;
- })]);
- smalltalk.send(self,"_assert_equals_",[smalltalk.HashedCollection._fromPairs_([smalltalk.send("foo","__minus_gt",[["bar", smalltalk.symbolFor("new"), "baz"]]),smalltalk.send("moo","__minus_gt",["zoo"])]),result]);
- return self},
- args: [],
- source: "testNontrivialModelModifiesAppropriateValue\x0a| isolator model result |\x0aresult := nil.\x0aisolator := Isolator on: #{ 'foo' -> #('bar' #(1 #(2 3)) 'baz'). 'moo' -> 'zoo' }.\x0amodel := EavModel new\x0a\x09getBlock: [ :x | (x root at: 'foo') at: 2 ];\x0a\x09putBlock: [ :x :y | (x root at: 'foo') at: 2 put: y].\x0aisolator model: model modify: [:r|#new].\x0aisolator model: model read: [:r|result := r].\x0aself assert: #new equals: result.\x0aisolator model: rootModel read: [:r|result := r].\x0aself assert: #{ 'foo' -> #('bar' #new 'baz'). 'moo' -> 'zoo' } equals: result\x0a",
- messageSends: ["on:", "->", "getBlock:", "at:", "root", "new", "putBlock:", "at:put:", "model:modify:", "model:read:", "assert:equals:"],
- referencedClasses: ["Isolator", "EavModel"]
- }),
- smalltalk.IsolatorTest);
- smalltalk.addMethod(
- "_testNontrivialModelReturnsAppropriateValue",
- smalltalk.method({
- selector: "testNontrivialModelReturnsAppropriateValue",
- category: 'tests',
- fn: function (){
- var self=this;
- var isolator;
- var model;
- var result;
- result=nil;
- isolator=smalltalk.send((smalltalk.Isolator || Isolator),"_on_",[smalltalk.HashedCollection._fromPairs_([smalltalk.send("foo","__minus_gt",[["bar", [(1), [(2), (3)]], "baz"]]),smalltalk.send("moo","__minus_gt",["zoo"])])]);
- model=smalltalk.send(smalltalk.send((smalltalk.EavModel || EavModel),"_new",[]),"_getBlock_",[(function(x){
- return smalltalk.send(smalltalk.send(smalltalk.send(x,"_root",[]),"_at_",["foo"]),"_at_",[(2)]);
- })]);
- smalltalk.send(isolator,"_model_read_",[model,(function(r){
- result=r;
- return result;
- })]);
- smalltalk.send(self,"_assert_equals_",[[(1), [(2), (3)]],result]);
- return self},
- args: [],
- source: "testNontrivialModelReturnsAppropriateValue\x0a| isolator model result |\x0aresult := nil.\x0aisolator := Isolator on: #{ 'foo' -> #('bar' #(1 #(2 3)) 'baz'). 'moo' -> 'zoo' }.\x0amodel := EavModel new getBlock: [ :x | (x root at: 'foo') at: 2 ].\x0aisolator model: model read: [:r|result := r].\x0aself assert: #(1 #(2 3)) equals: result\x0a",
- messageSends: ["on:", "->", "getBlock:", "at:", "root", "new", "model:read:", "assert:equals:"],
- referencedClasses: ["Isolator", "EavModel"]
- }),
- smalltalk.IsolatorTest);
- smalltalk.addMethod(
- "_testRootModelExaminesThenModifiesRoot",
- smalltalk.method({
- selector: "testRootModelExaminesThenModifiesRoot",
- category: 'tests',
- fn: function (){
- var self=this;
- var isolator;
- var result;
- result=nil;
- isolator=smalltalk.send((smalltalk.Isolator || Isolator),"_on_",[[(1), [(2), (3)]]]);
- smalltalk.send(isolator,"_model_modify_",[self["@rootModel"],(function(r){
- return smalltalk.send(r,"_second",[]);
- })]);
- smalltalk.send(isolator,"_model_read_",[self["@rootModel"],(function(r){
- result=r;
- return result;
- })]);
- smalltalk.send(self,"_assert_equals_",[[(2), (3)],result]);
- return self},
- args: [],
- source: "testRootModelExaminesThenModifiesRoot\x0a| isolator result |\x0aresult := nil.\x0aisolator := Isolator on: #(1 #(2 3)).\x0aisolator model: rootModel modify: [:r|r second].\x0aisolator model: rootModel read: [:r|result := r].\x0aself assert: #(2 3) equals: result\x0a",
- messageSends: ["on:", "model:modify:", "second", "model:read:", "assert:equals:"],
- referencedClasses: ["Isolator"]
- }),
- smalltalk.IsolatorTest);
- smalltalk.addMethod(
- "_testRootModelGetsRootForModification",
- smalltalk.method({
- selector: "testRootModelGetsRootForModification",
- category: 'tests',
- fn: function (){
- var self=this;
- var isolator;
- var result;
- result=nil;
- isolator=smalltalk.send((smalltalk.Isolator || Isolator),"_on_",[[(2), [(1), (0)]]]);
- smalltalk.send(isolator,"_model_modify_",[self["@rootModel"],(function(r){
- result=r;
- return result;
- })]);
- smalltalk.send(self,"_assert_equals_",[[(2), [(1), (0)]],result]);
- return self},
- args: [],
- source: "testRootModelGetsRootForModification\x0a| isolator result |\x0aresult := nil.\x0aisolator := Isolator on: #(2 #(1 0)).\x0aisolator model: rootModel modify: [:r|result := r].\x0aself assert: #(2 #(1 0)) equals: result\x0a",
- messageSends: ["on:", "model:modify:", "assert:equals:"],
- referencedClasses: ["Isolator"]
- }),
- smalltalk.IsolatorTest);
- smalltalk.addMethod(
- "_testRootModelModifiesAndDeeplyIsolatesInPlaceModifiedRoot",
- smalltalk.method({
- selector: "testRootModelModifiesAndDeeplyIsolatesInPlaceModifiedRoot",
- category: 'tests',
- fn: function (){
- var self=this;
- var isolator;
- var result;
- var newValue;
- result=nil;
- newValue=nil;
- isolator=smalltalk.send((smalltalk.Isolator || Isolator),"_on_",[[(1), [(2), (3)]]]);
- smalltalk.send(isolator,"_model_modify_",[self["@rootModel"],(function(r){
- newValue=r;
- newValue;
- smalltalk.send(r,"_at_put_",[(1),(4)]);
- return r;
- })]);
- smalltalk.send(newValue,"_at_put_",[(2),"bar"]);
- smalltalk.send(isolator,"_model_read_",[self["@rootModel"],(function(r){
- result=r;
- return result;
- })]);
- smalltalk.send(newValue,"_at_put_",[(2),"baz"]);
- smalltalk.send(self,"_assert_equals_",[[(4), [(2), (3)]],result]);
- return self},
- args: [],
- source: "testRootModelModifiesAndDeeplyIsolatesInPlaceModifiedRoot\x0a| isolator result newValue |\x0aresult := nil. newValue := nil.\x0aisolator := Isolator on: #(1 #(2 3)).\x0aisolator model: rootModel modify: [:r|newValue := r. r at: 1 put: 4. r].\x0anewValue at: 2 put: 'bar'.\x0aisolator model: rootModel read: [:r|result := r].\x0anewValue at: 2 put: 'baz'.\x0aself assert: #(4 #(2 3)) equals: result\x0a",
- messageSends: ["on:", "model:modify:", "at:put:", "model:read:", "assert:equals:"],
- referencedClasses: ["Isolator"]
- }),
- smalltalk.IsolatorTest);
- smalltalk.addMethod(
- "_testRootModelModifiesAndDeeplyIsolatesRoot",
- smalltalk.method({
- selector: "testRootModelModifiesAndDeeplyIsolatesRoot",
- category: 'tests',
- fn: function (){
- var self=this;
- var isolator;
- var result;
- var newValue;
- result=nil;
- isolator=smalltalk.send((smalltalk.Isolator || Isolator),"_on_",[[(1), [(2), (3)]]]);
- newValue=smalltalk.HashedCollection._fromPairs_([smalltalk.send("foo","__minus_gt",[[(4), (5), (6)]])]);
- smalltalk.send(isolator,"_model_modify_",[self["@rootModel"],(function(r){
- return newValue;
- })]);
- smalltalk.send(smalltalk.send(newValue,"_at_",["foo"]),"_at_put_",[(1),"bar"]);
- smalltalk.send(isolator,"_model_read_",[self["@rootModel"],(function(r){
- result=r;
- return result;
- })]);
- smalltalk.send(smalltalk.send(newValue,"_at_",["foo"]),"_at_put_",[(3),"baz"]);
- smalltalk.send(self,"_assert_equals_",[smalltalk.HashedCollection._fromPairs_([smalltalk.send("foo","__minus_gt",[[(4), (5), (6)]])]),result]);
- return self},
- args: [],
- source: "testRootModelModifiesAndDeeplyIsolatesRoot\x0a| isolator result newValue |\x0aresult := nil.\x0aisolator := Isolator on: #(1 #(2 3)).\x0anewValue := #{'foo'->#(4 5 6)}.\x0aisolator model: rootModel modify: [:r|newValue].\x0a(newValue at: 'foo') at: 1 put: 'bar'.\x0aisolator model: rootModel read: [:r|result := r].\x0a(newValue at: 'foo') at: 3 put: 'baz'.\x0aself assert: #{'foo'->#(4 5 6)} equals: result\x0a",
- messageSends: ["on:", "->", "model:modify:", "at:put:", "at:", "model:read:", "assert:equals:"],
- referencedClasses: ["Isolator"]
- }),
- smalltalk.IsolatorTest);
- smalltalk.addMethod(
- "_testRootModelModifiesAndIsolatesRoot",
- smalltalk.method({
- selector: "testRootModelModifiesAndIsolatesRoot",
- category: 'tests',
- fn: function (){
- var self=this;
- var isolator;
- var result;
- var newValue;
- result=nil;
- isolator=smalltalk.send((smalltalk.Isolator || Isolator),"_on_",[[(1), [(2), (3)]]]);
- newValue=smalltalk.HashedCollection._fromPairs_([smalltalk.send("foo","__minus_gt",[[(4), (5), (6)]])]);
- smalltalk.send(isolator,"_model_modify_",[self["@rootModel"],(function(r){
- return newValue;
- })]);
- smalltalk.send(newValue,"_at_put_",["foo","bar"]);
- smalltalk.send(isolator,"_model_read_",[self["@rootModel"],(function(r){
- result=r;
- return result;
- })]);
- smalltalk.send(newValue,"_at_put_",["foo","baz"]);
- smalltalk.send(self,"_assert_equals_",[smalltalk.HashedCollection._fromPairs_([smalltalk.send("foo","__minus_gt",[[(4), (5), (6)]])]),result]);
- return self},
- args: [],
- source: "testRootModelModifiesAndIsolatesRoot\x0a| isolator result newValue |\x0aresult := nil.\x0aisolator := Isolator on: #(1 #(2 3)).\x0anewValue := #{'foo'->#(4 5 6)}.\x0aisolator model: rootModel modify: [:r|newValue].\x0anewValue at: 'foo' put: 'bar'.\x0aisolator model: rootModel read: [:r|result := r].\x0anewValue at: 'foo' put: 'baz'.\x0aself assert: #{'foo'->#(4 5 6)} equals: result\x0a",
- messageSends: ["on:", "->", "model:modify:", "at:put:", "model:read:", "assert:equals:"],
- referencedClasses: ["Isolator"]
- }),
- smalltalk.IsolatorTest);
- smalltalk.addMethod(
- "_testRootModelModifiesRoot",
- smalltalk.method({
- selector: "testRootModelModifiesRoot",
- category: 'tests',
- fn: function (){
- var self=this;
- var isolator;
- var result;
- result=nil;
- isolator=smalltalk.send((smalltalk.Isolator || Isolator),"_on_",[[(1), [(2), (3)]]]);
- smalltalk.send(isolator,"_model_modify_",[self["@rootModel"],(function(r){
- return smalltalk.HashedCollection._fromPairs_([smalltalk.send("foo","__minus_gt",[[(4), (5), (6)]])]);
- })]);
- smalltalk.send(isolator,"_model_read_",[self["@rootModel"],(function(r){
- result=r;
- return result;
- })]);
- smalltalk.send(self,"_assert_equals_",[smalltalk.HashedCollection._fromPairs_([smalltalk.send("foo","__minus_gt",[[(4), (5), (6)]])]),result]);
- return self},
- args: [],
- source: "testRootModelModifiesRoot\x0a| isolator result |\x0aresult := nil.\x0aisolator := Isolator on: #(1 #(2 3)).\x0aisolator model: rootModel modify: [:r|#{'foo'->#(4 5 6)}].\x0aisolator model: rootModel read: [:r|result := r].\x0aself assert: #{'foo'->#(4 5 6)} equals: result\x0a",
- messageSends: ["on:", "model:modify:", "->", "model:read:", "assert:equals:"],
- referencedClasses: ["Isolator"]
- }),
- smalltalk.IsolatorTest);
- smalltalk.addMethod(
- "_testRootModelReturnsDeeplyIsolatedRoot",
- smalltalk.method({
- selector: "testRootModelReturnsDeeplyIsolatedRoot",
- category: 'tests',
- fn: function (){
- var self=this;
- var isolator;
- var result;
- result=nil;
- isolator=smalltalk.send((smalltalk.Isolator || Isolator),"_on_",[[(1), [(2), (3)]]]);
- smalltalk.send(isolator,"_model_read_",[self["@rootModel"],(function(r){
- return smalltalk.send(smalltalk.send(r,"_at_",[(2)]),"_at_put_",[(1),(0)]);
- })]);
- smalltalk.send(isolator,"_model_read_",[self["@rootModel"],(function(r){
- result=r;
- return result;
- })]);
- smalltalk.send(self,"_assert_equals_",[[(1), [(2), (3)]],result]);
- return self},
- args: [],
- source: "testRootModelReturnsDeeplyIsolatedRoot\x0a| isolator result |\x0aresult := nil.\x0aisolator := Isolator on: #(1 #(2 3)).\x0aisolator model: rootModel read: [:r|(r at: 2) at: 1 put: 0].\x0aisolator model: rootModel read: [:r|result := r].\x0aself assert: #(1 #(2 3)) equals: result\x0a",
- messageSends: ["on:", "model:read:", "at:put:", "at:", "assert:equals:"],
- referencedClasses: ["Isolator"]
- }),
- smalltalk.IsolatorTest);
- smalltalk.addMethod(
- "_testRootModelReturnsIsolatedRoot",
- smalltalk.method({
- selector: "testRootModelReturnsIsolatedRoot",
- category: 'tests',
- fn: function (){
- var self=this;
- var isolator;
- var result;
- result=nil;
- isolator=smalltalk.send((smalltalk.Isolator || Isolator),"_on_",[[(1), [(2), (4)]]]);
- smalltalk.send(isolator,"_model_read_",[self["@rootModel"],(function(r){
- return smalltalk.send(r,"_at_put_",[(2),nil]);
- })]);
- smalltalk.send(isolator,"_model_read_",[self["@rootModel"],(function(r){
- result=r;
- return result;
- })]);
- smalltalk.send(self,"_assert_equals_",[[(1), [(2), (4)]],result]);
- return self},
- args: [],
- source: "testRootModelReturnsIsolatedRoot\x0a| isolator result |\x0aresult := nil.\x0aisolator := Isolator on: #(1 #(2 4)).\x0aisolator model: rootModel read: [:r|r at: 2 put: nil].\x0aisolator model: rootModel read: [:r|result := r].\x0aself assert: #(1 #(2 4)) equals: result\x0a",
- messageSends: ["on:", "model:read:", "at:put:", "assert:equals:"],
- referencedClasses: ["Isolator"]
- }),
- smalltalk.IsolatorTest);
- smalltalk.addMethod(
- "_testRootModelReturnsRoot",
- smalltalk.method({
- selector: "testRootModelReturnsRoot",
- category: 'tests',
- fn: function (){
- var self=this;
- var isolator;
- var result;
- result=nil;
- isolator=smalltalk.send((smalltalk.Isolator || Isolator),"_on_",[[(1), [(2), (3)]]]);
- smalltalk.send(isolator,"_model_read_",[self["@rootModel"],(function(r){
- result=r;
- return result;
- })]);
- smalltalk.send(self,"_assert_equals_",[[(1), [(2), (3)]],result]);
- return self},
- args: [],
- source: "testRootModelReturnsRoot\x0a| isolator result |\x0aresult := nil.\x0aisolator := Isolator on: #(1 #(2 3)).\x0aisolator model: rootModel read: [:r|result := r].\x0aself assert: #(1 #(2 3)) equals: result\x0a",
- messageSends: ["on:", "model:read:", "assert:equals:"],
- referencedClasses: ["Isolator"]
- }),
- smalltalk.IsolatorTest);
|