Browse Source

ArrayTest: add test for the printString message

mkroehnert 12 years ago
parent
commit
1cede6e762
3 changed files with 67 additions and 0 deletions
  1. 23 0
      js/Kernel-Tests.deploy.js
  2. 28 0
      js/Kernel-Tests.js
  3. 16 0
      st/Kernel-Tests.st

+ 23 - 0
js/Kernel-Tests.deploy.js

@@ -40,6 +40,29 @@ return self;}
 }),
 smalltalk.ArrayTest);
 
+smalltalk.addMethod(
+"_testPrintString",
+smalltalk.method({
+selector: "testPrintString",
+fn: function (){
+var self=this;
+var array=nil;
+(array=smalltalk.send((smalltalk.Array || Array), "_new", []));
+smalltalk.send(self, "_assert_equals_", ["a Array ()", smalltalk.send(array, "_printString", [])]);
+(function($rec){smalltalk.send($rec, "_add_", [(1)]);return smalltalk.send($rec, "_add_", [(3)]);})(array);
+smalltalk.send(self, "_assert_equals_", ["a Array (1 3)", smalltalk.send(array, "_printString", [])]);
+smalltalk.send(array, "_add_", ["foo"]);
+smalltalk.send(self, "_assert_equals_", ["a Array (1 3 'foo')", smalltalk.send(array, "_printString", [])]);
+(function($rec){smalltalk.send($rec, "_remove_", [(1)]);return smalltalk.send($rec, "_remove_", [(3)]);})(array);
+smalltalk.send(self, "_assert_equals_", ["a Array ('foo')", smalltalk.send(array, "_printString", [])]);
+smalltalk.send(array, "_addLast_", [(3)]);
+smalltalk.send(self, "_assert_equals_", ["a Array ('foo' 3)", smalltalk.send(array, "_printString", [])]);
+smalltalk.send(array, "_addLast_", [(3)]);
+smalltalk.send(self, "_assert_equals_", ["a Array ('foo' 3 3)", smalltalk.send(array, "_printString", [])]);
+return self;}
+}),
+smalltalk.ArrayTest);
+
 
 
 smalltalk.addClass('BlockClosureTest', smalltalk.TestCase, [], 'Kernel-Tests');

+ 28 - 0
js/Kernel-Tests.js

@@ -55,6 +55,34 @@ referencedClasses: []
 }),
 smalltalk.ArrayTest);
 
+smalltalk.addMethod(
+"_testPrintString",
+smalltalk.method({
+selector: "testPrintString",
+category: 'testing',
+fn: function (){
+var self=this;
+var array=nil;
+(array=smalltalk.send((smalltalk.Array || Array), "_new", []));
+smalltalk.send(self, "_assert_equals_", ["a Array ()", smalltalk.send(array, "_printString", [])]);
+(function($rec){smalltalk.send($rec, "_add_", [(1)]);return smalltalk.send($rec, "_add_", [(3)]);})(array);
+smalltalk.send(self, "_assert_equals_", ["a Array (1 3)", smalltalk.send(array, "_printString", [])]);
+smalltalk.send(array, "_add_", ["foo"]);
+smalltalk.send(self, "_assert_equals_", ["a Array (1 3 'foo')", smalltalk.send(array, "_printString", [])]);
+(function($rec){smalltalk.send($rec, "_remove_", [(1)]);return smalltalk.send($rec, "_remove_", [(3)]);})(array);
+smalltalk.send(self, "_assert_equals_", ["a Array ('foo')", smalltalk.send(array, "_printString", [])]);
+smalltalk.send(array, "_addLast_", [(3)]);
+smalltalk.send(self, "_assert_equals_", ["a Array ('foo' 3)", smalltalk.send(array, "_printString", [])]);
+smalltalk.send(array, "_addLast_", [(3)]);
+smalltalk.send(self, "_assert_equals_", ["a Array ('foo' 3 3)", smalltalk.send(array, "_printString", [])]);
+return self;},
+args: [],
+source: "testPrintString\x0a\x09| array |\x0a\x09array := Array new.\x0a\x09self assert: 'a Array ()' equals: ( array printString ).\x0a\x09array add: 1; add: 3.\x0a\x09self assert: 'a Array (1 3)' equals: ( array printString ).\x0a\x09array add: 'foo'.\x0a\x09self assert: 'a Array (1 3 ''foo'')' equals: ( array printString ).\x0a\x09array remove: 1; remove: 3.\x0a\x09self assert: 'a Array (''foo'')' equals: ( array printString ).\x0a\x09array addLast: 3.\x0a\x09self assert: 'a Array (''foo'' 3)' equals: ( array printString ).\x0a\x09array addLast: 3.\x0a\x09self assert: 'a Array (''foo'' 3 3)' equals: ( array printString ).",
+messageSends: ["new", "assert:equals:", "printString", "add:", "remove:", "addLast:"],
+referencedClasses: ["Array"]
+}),
+smalltalk.ArrayTest);
+
 
 
 smalltalk.addClass('BlockClosureTest', smalltalk.TestCase, [], 'Kernel-Tests');

+ 16 - 0
st/Kernel-Tests.st

@@ -22,6 +22,22 @@ testFirstN
 
 testIfEmpty
 	self assert: 'zork' equals: ( '' ifEmpty: ['zork'] )
+!
+
+testPrintString
+	| array |
+	array := Array new.
+	self assert: 'a Array ()' equals: ( array printString ).
+	array add: 1; add: 3.
+	self assert: 'a Array (1 3)' equals: ( array printString ).
+	array add: 'foo'.
+	self assert: 'a Array (1 3 ''foo'')' equals: ( array printString ).
+	array remove: 1; remove: 3.
+	self assert: 'a Array (''foo'')' equals: ( array printString ).
+	array addLast: 3.
+	self assert: 'a Array (''foo'' 3)' equals: ( array printString ).
+	array addLast: 3.
+	self assert: 'a Array (''foo'' 3 3)' equals: ( array printString ).
 ! !
 
 TestCase subclass: #BlockClosureTest