Browse Source

Collection test restructured / flattened.

To match collection hierarchy restructure / flattening
with TKeyValueCollection.
Herby Vojčík 4 years ago
parent
commit
556a0d7b9d
2 changed files with 584 additions and 403 deletions
  1. 468 282
      lang/src/Kernel-Tests.js
  2. 116 121
      lang/src/Kernel-Tests.st

File diff suppressed because it is too large
+ 468 - 282
lang/src/Kernel-Tests.js


+ 116 - 121
lang/src/Kernel-Tests.st

@@ -840,126 +840,7 @@ isAbstract
 	^ self collectionClass isNil
 ! !
 
-CollectionTest subclass: #IndexableCollectionTest
-	slots: {}
-	package: 'Kernel-Tests'!
-
-!IndexableCollectionTest methodsFor: 'fixture'!
-
-collectionWithNewValue
-	"Answers a collection which shows how
-	self collection would look after adding
-	self sampleNewValue at self sampleNewIndex"
-	
-	self subclassResponsibility
-!
-
-nonIndexesDo: aBlock
-	"Executes block a few times,
-	each time passing value that is known
-	not to be an index, as the first parameter"
-	
-	self subclassResponsibility
-!
-
-sampleNewIndex
-	"Answers a value that can be used as index in at:put: or at:ifAbsentPut:"
-	
-	self subclassResponsibility
-!
-
-samplesDo: aBlock
-	"Executes block a few times,
-	each time passing known index and value stored
-	under that index as the parameters"
-	
-	self subclassResponsibility
-! !
-
-!IndexableCollectionTest methodsFor: 'tests'!
-
-testAt
-	self nonIndexesDo: [ :each |
-		self should: [ self collection at: each ] raise: Error ].
-	self samplesDo: [ :index :value |
-		self assert: (self collection at: index) equals: value ]
-!
-
-testAtIfAbsent
-	self nonIndexesDo: [ :each |
-		self assert: (self collection at: each ifAbsent: [ self sampleNewValue ]) equals: self sampleNewValue ].
-	self samplesDo: [ :index :value |
-		self assert: (self collection at: index ifAbsent: [ self sampleNewValue ]) equals: value ].
-!
-
-testAtIfAbsentPut
-	| newCollection |
-	newCollection := self collection.
-	self samplesDo: [ :index :value |
-		self assert: (newCollection at: index ifAbsentPut: [ self sampleNewValue ]) equals: value ].
-	self assert: newCollection equals: self collection.
-	self assert: (newCollection at: self sampleNewIndex ifAbsentPut: [ self sampleNewValue ]) equals: self sampleNewValue.
-	self assert: newCollection equals: self collectionWithNewValue
-!
-
-testAtIfPresent
-	| visited sentinel |
-	sentinel := Object new.
-	self nonIndexesDo: [ :each |
-		visited := nil.
-		self assert: (self collection at: each ifPresent: [ :value1 | visited := value1. sentinel ]) equals: nil.
-		self assert: visited isNil ].
-	self samplesDo: [ :index :value |
-		visited := nil.
-		self assert: (self collection at: index ifPresent: [ :value2 | visited := value2. sentinel ]) equals: sentinel.
-		self assert: visited equals: (self collection at: index) ]
-!
-
-testAtIfPresentIfAbsent
-	| visited sentinel |
-	sentinel := Object new.
-	self nonIndexesDo: [ :each |
-		visited := nil.
-		self assert: (self collection at: each ifPresent: [ :value1 | visited := value1. sentinel ] ifAbsent: [ self sampleNewValue ] ) equals: self sampleNewValue.
-		self assert: visited isNil ].
-	self samplesDo: [ :index :value |
-		visited := nil.
-		self assert: (self collection at: index ifPresent: [ :value2 | visited := value2. sentinel ] ifAbsent: [ self sampleNewValue ]) equals: sentinel.
-		self assert: visited equals: (self collection at: index) ]
-!
-
-testAtPut
-	| newCollection |
-	newCollection := self collection.
-	self samplesDo: [ :index :value |
-		newCollection at: index put: value ].
-	self assert: newCollection equals: self collection.
-	newCollection at: self sampleNewIndex put: self sampleNewValue.
-	self assert: newCollection equals: self collectionWithNewValue
-!
-
-testIndexOf
-	self should: [ self collection indexOf: self sampleNewValue ] raise: Error.
-	self samplesDo: [ :index :value |
-		self assert: (self collection indexOf: value) equals: index ]
-!
-
-testIndexOfWithNull
-	| jsNull |
-	jsNull := JSON parse: 'null'.
-	self samplesDo: [ :index :value |
-		self assert: (self collection at: index put: jsNull; indexOf: jsNull) equals: index ]
-!
-
-testWithIndexDo
-	| collection |
-	collection := self collection.
-	
-	self collection withIndexDo: [ :each :index |
-		self assert: (collection at: index) equals: each ]
-! !
-
-IndexableCollectionTest subclass: #AssociativeCollectionTest
+CollectionTest subclass: #AssociativeCollectionTest
 	slots: {}
 	package: 'Kernel-Tests'!
 
@@ -1239,7 +1120,7 @@ collectionClass
 	^ HashedCollection
 ! !
 
-IndexableCollectionTest subclass: #SequenceableCollectionTest
+CollectionTest subclass: #SequenceableCollectionTest
 	slots: {}
 	package: 'Kernel-Tests'!
 
@@ -3021,6 +2902,116 @@ collectionClass
 	^ String
 ! !
 
+Trait named: #TKeyValueCollectionTest
+	package: 'Kernel-Tests'!
+
+!TKeyValueCollectionTest methodsFor: 'fixture'!
+
+nonIndexesDo: aBlock
+	"Executes block a few times,
+	each time passing value that is known
+	not to be an index, as the first parameter"
+	
+	self subclassResponsibility
+!
+
+sampleNewIndex
+	"Answers a value that can be used as index in at:put: or at:ifAbsentPut:"
+	
+	self subclassResponsibility
+!
+
+samplesDo: aBlock
+	"Executes block a few times,
+	each time passing known index and value stored
+	under that index as the parameters"
+	
+	self subclassResponsibility
+! !
+
+!TKeyValueCollectionTest methodsFor: 'tests'!
+
+testAt
+	self nonIndexesDo: [ :each |
+		self should: [ self collection at: each ] raise: Error ].
+	self samplesDo: [ :index :value |
+		self assert: (self collection at: index) equals: value ]
+!
+
+testAtIfAbsent
+	self nonIndexesDo: [ :each |
+		self assert: (self collection at: each ifAbsent: [ self sampleNewValue ]) equals: self sampleNewValue ].
+	self samplesDo: [ :index :value |
+		self assert: (self collection at: index ifAbsent: [ self sampleNewValue ]) equals: value ].
+!
+
+testAtIfAbsentPut
+	| newCollection |
+	newCollection := self collection.
+	self samplesDo: [ :index :value |
+		self assert: (newCollection at: index ifAbsentPut: [ self sampleNewValue ]) equals: value ].
+	self assert: newCollection equals: self collection.
+	self assert: (newCollection at: self sampleNewIndex ifAbsentPut: [ self sampleNewValue ]) equals: self sampleNewValue.
+	self assert: newCollection equals: self collectionWithNewValue
+!
+
+testAtIfPresent
+	| visited sentinel |
+	sentinel := Object new.
+	self nonIndexesDo: [ :each |
+		visited := nil.
+		self assert: (self collection at: each ifPresent: [ :value1 | visited := value1. sentinel ]) equals: nil.
+		self assert: visited isNil ].
+	self samplesDo: [ :index :value |
+		visited := nil.
+		self assert: (self collection at: index ifPresent: [ :value2 | visited := value2. sentinel ]) equals: sentinel.
+		self assert: visited equals: (self collection at: index) ]
+!
+
+testAtIfPresentIfAbsent
+	| visited sentinel |
+	sentinel := Object new.
+	self nonIndexesDo: [ :each |
+		visited := nil.
+		self assert: (self collection at: each ifPresent: [ :value1 | visited := value1. sentinel ] ifAbsent: [ self sampleNewValue ] ) equals: self sampleNewValue.
+		self assert: visited isNil ].
+	self samplesDo: [ :index :value |
+		visited := nil.
+		self assert: (self collection at: index ifPresent: [ :value2 | visited := value2. sentinel ] ifAbsent: [ self sampleNewValue ]) equals: sentinel.
+		self assert: visited equals: (self collection at: index) ]
+!
+
+testAtPut
+	| newCollection |
+	newCollection := self collection.
+	self samplesDo: [ :index :value |
+		newCollection at: index put: value ].
+	self assert: newCollection equals: self collection.
+	newCollection at: self sampleNewIndex put: self sampleNewValue.
+	self assert: newCollection equals: self collectionWithNewValue
+!
+
+testIndexOf
+	self should: [ self collection indexOf: self sampleNewValue ] raise: Error.
+	self samplesDo: [ :index :value |
+		self assert: (self collection indexOf: value) equals: index ]
+!
+
+testIndexOfWithNull
+	| jsNull |
+	jsNull := JSON parse: 'null'.
+	self samplesDo: [ :index :value |
+		self assert: (self collection at: index put: jsNull; indexOf: jsNull) equals: index ]
+!
+
+testWithIndexDo
+	| collection |
+	collection := self collection.
+	
+	self collection withIndexDo: [ :each :index |
+		self assert: (collection at: index) equals: each ]
+! !
+
 TestCase subclass: #UndefinedTest
 	slots: {}
 	package: 'Kernel-Tests'!
@@ -3047,3 +3038,7 @@ testIsNil
 	self deny: nil notNil.
 ! !
 
+AssociativeCollectionTest setTraitComposition: {TKeyValueCollectionTest} asTraitComposition!
+SequenceableCollectionTest setTraitComposition: {TKeyValueCollectionTest} asTraitComposition!
+! !
+

Some files were not shown because too many files changed in this diff