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

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Mon Nov 4 22:04:27 UTC 2013


Beside the form, isn't -1 a palindrome? (if you reverse bit/bytes you still
get -1, so it's a poor value)


2013/11/4 Frank Shearar <frank.shearar at gmail.com>

> 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.!
> >> >> >>
> >> >> >>
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >>
> >> >
> >> >
> >> >
> >> >
> >>
> >
> >
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20131104/1e9c5819/attachment.htm


More information about the Squeak-dev mailing list