[squeak-dev] The Trunk: CollectionsTests-ul.247.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Aug 22 12:11:30 UTC 2015


Levente Uzonyi uploaded a new version of CollectionsTests to project The Trunk:
http://source.squeak.org/trunk/CollectionsTests-ul.247.mcz

==================== Summary ====================

Name: CollectionsTests-ul.247
Author: ul
Time: 22 August 2015, 2:49:53.204 am
UUID: 94ef14e4-f6f6-4edb-812d-12a88105b552
Ancestors: CollectionsTests-ul.246

Added BitSetTest.

=============== Diff against CollectionsTests-ul.246 ===============

Item was added:
+ TestCase subclass: #BitSetTest
+ 	instanceVariableNames: 'bitset'
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'CollectionsTests-Support'!

Item was added:
+ ----- Method: BitSetTest>>assertBitsetIsEmpty (in category 'helpers') -----
+ assertBitsetIsEmpty
+ 
+ 	self assert: 0 equals: bitset size.
+ 	self assert: (bitset bytes allSatisfy: [ :each | each = 0 ]).
+ 	self assert: #() equals: self bitsetElements
+ !

Item was added:
+ ----- Method: BitSetTest>>bitsetElements (in category 'helpers') -----
+ bitsetElements
+ 
+ 	^Array new: bitset size streamContents: [ :stream |
+ 		bitset do: [ :each | stream nextPut: each ] ]!

Item was added:
+ ----- Method: BitSetTest>>initializeBitset: (in category 'helpers') -----
+ initializeBitset: anInteger
+ 
+ 	self assert: anInteger equals: anInteger // 8 * 8.
+ 	bitset := Bitset new: anInteger.
+ 	self assertBitsetIsEmpty.
+ 	self assert: anInteger equals: bitset capacity!

Item was added:
+ ----- Method: BitSetTest>>testBitManipulationAPI (in category 'testing') -----
+ testBitManipulationAPI
+ 
+ 	#(0 8 16 24 32) do: [ :each |
+ 		self testBitManipulationAPI: each ]!

Item was added:
+ ----- Method: BitSetTest>>testBitManipulationAPI: (in category 'testing') -----
+ testBitManipulationAPI: capacity
+ 
+ 	self initializeBitset: capacity.
+ 	0 to: capacity - 1 do: [ :index |
+ 		self assert: 0 equals: (bitset bitAt: index).
+ 		self assert: #() equals: self bitsetElements.
+ 		self assert: false equals: (bitset clearBitAt: index).
+ 		self assert: 0 equals: bitset size.
+ 		self assert: #() equals: self bitsetElements.
+ 		self assert: false equals: (bitset clearBitAt: index).
+ 
+ 		self assert: true equals: (bitset setBitAt: index).
+ 		self assert: 1 equals: (bitset bitAt: index).
+ 		self assert: 1 equals: bitset size.
+ 		self assert: { index } equals: self bitsetElements.
+ 
+ 		self assert: false equals: (bitset setBitAt: index).
+ 		self assert: 1 equals: (bitset bitAt: index).
+ 		self assert: 1 equals: bitset size.
+ 		self assert: { index } equals: self bitsetElements.
+ 				
+ 		self assert: true equals: (bitset clearBitAt: index).
+ 		self assert: 0 equals: bitset size.
+ 		self assert: #() equals: self bitsetElements.
+ 		self assert: 0 equals: (bitset bitAt: index).
+ 
+ 		self assert: false equals: (bitset clearBitAt: index).
+ 		self assert: 0 equals: bitset size.
+ 		self assert: #() equals: self bitsetElements.
+ 		self assert: 0 equals: (bitset bitAt: index).
+ 		
+ 		self assert: capacity equals: bitset capacity ].
+ 	
+ 	self
+ 		should: [ bitset bitAt: -1 ] raise: Error;
+ 		should: [ bitset bitAt: capacity ] raise: Error.
+ 		
+ 	self
+ 		should: [ bitset setBitAt: -1 ] raise: Error;
+ 		should: [ bitset setBitAt: capacity ] raise: Error.
+ 
+ 	self
+ 		should: [ bitset clearBitAt: -1 ] raise: Error;
+ 		should: [ bitset clearBitAt: capacity ] raise: Error!

Item was added:
+ ----- Method: BitSetTest>>testCopy (in category 'testing') -----
+ testCopy
+ 
+ 	#(0 8 16 24 32) do: [ :each |
+ 		self testCopy: each ]!

Item was added:
+ ----- Method: BitSetTest>>testCopy: (in category 'testing') -----
+ testCopy: n
+ 
+ 	| copy |
+ 	self initializeBitset: n.
+ 	copy := bitset copy.
+ 	self assert: copy equals: bitset.
+ 	self assert: copy hash equals: bitset hash.
+ 	self deny: bitset == copy.
+ 	self deny: bitset bytes == copy bytes!

Item was added:
+ ----- Method: BitSetTest>>testDictionaryAPI (in category 'testing') -----
+ testDictionaryAPI
+ 
+ 	#(0 8 16 24 32) do: [ :each |
+ 		self testDictionaryAPI: each ]!

Item was added:
+ ----- Method: BitSetTest>>testDictionaryAPI: (in category 'testing') -----
+ testDictionaryAPI: capacity
+ 
+ 	self initializeBitset: capacity.
+ 	0 to: capacity - 1 do: [ :index |
+ 		self assert: 0 equals: (bitset at: index).
+ 		self assert: #() equals: self bitsetElements.
+ 		self assert: 0 equals: (bitset at: index put: 0).
+ 		self assert: 0 equals: bitset size.
+ 		self assert: #() equals: self bitsetElements.
+ 		self assert: 0 equals: (bitset at: index put: 0).
+ 
+ 		self assert: 1 equals: (bitset at: index put: 1).
+ 		self assert: 1 equals: (bitset at: index).
+ 		self assert: 1 equals: bitset size.
+ 		self assert: { index } equals: self bitsetElements.
+ 
+ 		self assert: 1 equals: (bitset at: index put: 1).
+ 		self assert: 1 equals: (bitset at: index).
+ 		self assert: 1 equals: bitset size.
+ 		self assert: { index } equals: self bitsetElements.
+ 				
+ 		self assert: 0 equals: (bitset at: index put: 0).
+ 		self assert: 0 equals: bitset size.
+ 		self assert: #() equals: self bitsetElements.
+ 		self assert: 0 equals: (bitset at: index).
+ 
+ 		self assert: 0 equals: (bitset at: index put: 0).
+ 		self assert: 0 equals: bitset size.
+ 		self assert: #() equals: self bitsetElements.
+ 		self assert: 0 equals: (bitset at: index).
+ 		
+ 		self assert: capacity equals: bitset capacity ].
+ 	
+ 	self
+ 		should: [ bitset at: capacity ] raise: Error;
+ 		should: [ bitset at: capacity put: 0 ] raise: Error;
+ 		should: [ bitset at: capacity put: 1 ] raise: Error.
+ 	self
+ 		should: [ bitset at: -1 ] raise: Error;
+ 		should: [ bitset at: -1 put: 0 ] raise: Error;
+ 		should: [ bitset at: -1 put: 1 ] raise: Error.
+ 
+ 	self
+ 		should: [ bitset at: 0 put: -1 ] raise: Error;			
+ 		should: [ bitset at: 0 put: 2 ] raise: Error;
+ 		should: [ bitset at: 0 put: nil ] raise: Error!

Item was added:
+ ----- Method: BitSetTest>>testNew (in category 'testing') -----
+ testNew
+ 
+ 	self should: [ Bitset new ] raise: Error!

Item was added:
+ ----- Method: BitSetTest>>testRemoveAll (in category 'testing') -----
+ testRemoveAll
+ 
+ 	#(0 8 16 24 32) do: [ :each |
+ 		self testRemoveAll: each ]!

Item was added:
+ ----- Method: BitSetTest>>testRemoveAll: (in category 'testing') -----
+ testRemoveAll: n
+ 
+ 	self initializeBitset: n.
+ 	0 to: n - 1 do: [ :index |
+ 		bitset setBitAt: index ].
+ 	self assert: n equals: bitset size.
+ 	self assert: (bitset bytes allSatisfy: [ :each | each = 255 ]).
+ 	bitset removeAll.
+ 	self assert: 0 equals: bitset size.
+ 	self assert: #() equals: self bitsetElements.
+ 	self assert: (bitset bytes allSatisfy: [ :each | each = 0 ]).
+ !

Item was added:
+ ----- Method: BitSetTest>>testSetAPI (in category 'testing') -----
+ testSetAPI
+ 
+ 	#(0 8 16 24 32) do: [ :each |
+ 		self testSetAPI: each ]!

Item was added:
+ ----- Method: BitSetTest>>testSetAPI: (in category 'testing') -----
+ testSetAPI: capacity
+ 
+ 	self initializeBitset: capacity.
+ 	self assert: capacity equals: capacity // 8 * 8 description: 'capacity must be a multiple of eight.'.
+ 	self assert: capacity equals: bitset capacity.
+ 	self assert: 0 equals: bitset size.
+ 	self assert: #() equals: self bitsetElements.
+ 	0 to: capacity - 1 do: [ :index |
+ 		self deny: (bitset includes: index).
+ 		self assert: #() equals: self bitsetElements.
+ 		self assert: nil equals: (bitset remove: index ifAbsent: [ nil ]).
+ 		self assert: 0 equals: bitset size.
+ 		self assert: #() equals: self bitsetElements.
+ 		self deny: (bitset includes: index).
+ 
+ 		self assert: index equals: (bitset add: index).
+ 		self assert: (bitset includes: index).
+ 		self assert: 1 equals: bitset size.
+ 		self assert: { index } equals: self bitsetElements.
+ 
+ 		self assert: index equals: (bitset add: index).
+ 		self assert: (bitset includes: index).
+ 		self assert: 1 equals: bitset size.
+ 		self assert: { index } equals: self bitsetElements.
+ 				
+ 		self assert: index equals: (bitset remove: index).
+ 		self assert: 0 equals: bitset size.
+ 		self assert: #() equals: self bitsetElements.
+ 		self deny: (bitset includes: index).
+ 
+ 		self assert: nil equals: (bitset remove: index ifAbsent: [ nil ]).
+ 		self assert: 0 equals: bitset size.
+ 		self assert: #() equals: self bitsetElements.
+ 		self deny: (bitset includes: index).
+ 		
+ 		self assert: capacity equals: bitset capacity  ].
+ 	
+ 	self 
+ 		deny: (bitset includes: -1);	
+ 		deny: (bitset includes: capacity).
+ 	
+ 	self 
+ 		should: [ bitset add: capacity ] raise: Error;
+ 		should: [ bitset add: -1 ] raise: Error;
+ 		should: [ bitset remove: capacity ] raise: Error;
+ 		should: [ bitset remove: -1 ] raise: Error!

Item was added:
+ ----- Method: BitSetTest>>testSize (in category 'testing') -----
+ testSize
+ 
+ 	#(0 8 16 24 32) do: [ :each |
+ 		self testSize: each ]!

Item was added:
+ ----- Method: BitSetTest>>testSize: (in category 'testing') -----
+ testSize: n
+ 
+ 	self initializeBitset: n.
+ 	0 to: n - 1 do: [ :index |
+ 		self assert: index equals: bitset size.
+ 		bitset setBitAt: index ].
+ 	self assert: n equals: bitset size.
+ 	0 to: n - 1 do: [ :index |
+ 		self assert: n - index equals: bitset size.
+ 		bitset clearBitAt: index ].
+ 	self assertBitsetIsEmpty!



More information about the Squeak-dev mailing list