[squeak-dev] The Trunk: CollectionsTests-fbs.207.mcz

Frank Shearar frank.shearar at gmail.com
Mon Nov 4 22:00:49 UTC 2013


I really hate just having the lines under test just lying around like this:

testByteArrayLongAt
    | ba value |
    ba := ByteArray new: 4.
    value := -1.
    ba longAt: 1 put: value bigEndian: true.
    self assert: (ba longAt: 1 bigEndian: true) = value.
    ba longAt: 1 put: value bigEndian: false.
    self assert: (ba longAt: 1 bigEndian: false) = value.

I mean, it'd get the job done. Any better ideas?

frank

On 4 November 2013 21:51, Nicolas Cellier
<nicolas.cellier.aka.nice at gmail.com> wrote:
> It does not cost to ask ;)
> If you're in the mood and if our server is too, go for it...
>
>
> 2013/11/4 Frank Shearar <frank.shearar at gmail.com>
>>
>> Are you hinting that I should now fix the things post move? :)
>>
>> frank
>>
>> On 4 November 2013 21:15, Nicolas Cellier
>> <nicolas.cellier.aka.nice at gmail.com> wrote:
>> > Sure! I said while at it ;)
>> >
>> >
>> > 2013/11/4 Frank Shearar <frank.shearar at gmail.com>
>> >>
>> >> Yes. #shouldnt:raise: is evil when you catch Error.
>> >>
>> >> I deliberately didn't do that here so that reviewers could see that I
>> >> moved methods, not added some random new test.
>> >>
>> >> frank
>> >>
>> >> On 4 November 2013 20:56, Nicolas Cellier
>> >> <nicolas.cellier.aka.nice at gmail.com> wrote:
>> >> > While at it, there were a discussion in Pharo about shouldnt: []
>> >> > raise:
>> >> > Error, and it's generally considered a poor test
>> >> > - practically nothing should raise Error, unless in the few cases
>> >> > when
>> >> > you
>> >> > create a block that should:raise:
>> >> >   so should:raise: is usefull, but shouldnt:raise: is generally
>> >> > useless
>> >> >   (unless maybe if you are testing an Error inhibition mechanism with
>> >> > a
>> >> > block that shouldNormally:raise: Error)
>> >> > - if ever, it effectively raises an Error, you have no information
>> >> > why
>> >> > I fully agree with this.
>> >> >
>> >> >
>> >> > 2013/11/4 <commits at source.squeak.org>
>> >> >
>> >> >> Frank Shearar uploaded a new version of CollectionsTests to project
>> >> >> The
>> >> >> Trunk:
>> >> >> http://source.squeak.org/trunk/CollectionsTests-fbs.207.mcz
>> >> >>
>> >> >> ==================== Summary ====================
>> >> >>
>> >> >> Name: CollectionsTests-fbs.207
>> >> >> Author: fbs
>> >> >> Time: 4 November 2013, 6:31:01.83 pm
>> >> >> UUID: 4057d67b-5969-8b41-85d1-43fd39da4bb1
>> >> >> Ancestors: CollectionsTests-cmm.206
>> >> >>
>> >> >> Move collection tests where they belong.
>> >> >>
>> >> >> =============== Diff against CollectionsTests-cmm.206
>> >> >> ===============
>> >> >>
>> >> >> Item was added:
>> >> >> + ----- Method: ByteArrayTest>>testByteArrayLongAt (in category 'as
>> >> >> yet
>> >> >> unclassified') -----
>> >> >> + testByteArrayLongAt
>> >> >> +       | ba value |
>> >> >> +       ba := ByteArray new: 4.
>> >> >> +       value := -1.
>> >> >> +       self shouldnt:[ba longAt: 1 put: value bigEndian: true]
>> >> >> raise:
>> >> >> Error.
>> >> >> +       self assert: (ba longAt: 1 bigEndian: true) = value.
>> >> >> +       self shouldnt:[ba longAt: 1 put: value bigEndian: false]
>> >> >> raise:
>> >> >> Error.
>> >> >> +       self assert: (ba longAt: 1 bigEndian: false) = value.!
>> >> >>
>> >> >> Item was added:
>> >> >> + ----- Method: DictionaryTest>>testIntegrityOfDictionaries (in
>> >> >> category
>> >> >> 'integrity tests') -----
>> >> >> + testIntegrityOfDictionaries
>> >> >> +       #(
>> >> >> +               Dictionary
>> >> >> +               IdentityDictionary
>> >> >> +               SystemDictionary
>> >> >> +               LiteralDictionary
>> >> >> +               PluggableDictionary
>> >> >> +               WeakValueDictionary) do: [ :dictionaryClassName |
>> >> >> +                       Smalltalk at: dictionaryClassName ifPresent:
>> >> >> [
>> >> >> :dictionaryClass |
>> >> >> +                               dictionaryClass allInstancesDo: [
>> >> >> :dictionary |
>> >> >> +                                       dictionary keysAndValuesDo:
>> >> >> [
>> >> >> :key
>> >> >> :value |
>> >> >> +                                               self assert:
>> >> >> (dictionary
>> >> >> at: key) == value ].
>> >> >> +                                       dictionary array
>> >> >> doWithIndex: [
>> >> >> :association :index |
>> >> >> +                                       association ifNotNil: [
>> >> >> +                                              self assert:
>> >> >> (dictionary
>> >> >> scanFor: association key) = index ] ] ] ] ]!
>> >> >>
>> >> >> Item was added:
>> >> >> + ----- Method: DictionaryTest>>testMethodDictionaries (in category
>> >> >> 'integrity tests') -----
>> >> >> + testMethodDictionaries
>> >> >> +       MethodDictionary allInstancesDo: [ :dictionary |
>> >> >> +               dictionary keysAndValuesDo: [ :key :value |
>> >> >> +                       self assert: (dictionary at: key) == value
>> >> >> ].
>> >> >> +               1 to: dictionary basicSize do: [ :index |
>> >> >> +                       (dictionary basicAt: index)
>> >> >> +                               ifNil: [ self assert: (dictionary
>> >> >> array
>> >> >> at: index) isNil ]
>> >> >> +                               ifNotNil: [ :key |
>> >> >> +                                       self assert: (dictionary
>> >> >> scanFor:
>> >> >> key) = index ] ] ]!
>> >> >>
>> >> >> Item was added:
>> >> >> + ----- Method: HashedCollectionTest>>testCapacity (in category
>> >> >> 'test -
>> >> >> integrity') -----
>> >> >> + testCapacity
>> >> >> +
>> >> >> +       | inconsistentCollections |
>> >> >> +       inconsistentCollections := HashedCollection allSubInstances
>> >> >> reject: [ :each |
>> >> >> +               each class == MethodDictionary "MethodDictionary is
>> >> >> the
>> >> >> only HashedCollection which doesn't have prime array size"
>> >> >> +                       ifTrue: [ each capacity isPowerOfTwo ]
>> >> >> +                       ifFalse: [ each capacity isPrime ] ].
>> >> >> +       self assert: inconsistentCollections isEmpty!
>> >> >>
>> >> >> Item was added:
>> >> >> + ----- Method: ReadWriteStreamTest>>testReadWriteStreamNextNBug (in
>> >> >> category 'tests') -----
>> >> >> + testReadWriteStreamNextNBug
>> >> >> +       | aStream |
>> >> >> +       aStream := ReadWriteStream on: String new.
>> >> >> +       aStream nextPutAll: 'Hello World'.
>> >> >> +       self shouldnt:[aStream next: 5] raise: Error.!
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> >
>> >> >
>> >>
>> >
>> >
>> >
>> >
>>
>
>
>
>


More information about the Squeak-dev mailing list