[squeak-dev] The Trunk: CollectionsTests-fbs.207.mcz
Bob Arning
arning315 at comcast.net
Tue Nov 5 11:19:50 UTC 2013
Just a guess, but I think the test was written to show that a particular
bug had been fixed. Endian wasn't an issue here - negative numbers were.
http://lists.squeakfoundation.org/pipermail/squeak-dev/2003-August/063928.html
Cheers,
Bob
On 11/5/13 3:24 AM, Frank Shearar wrote:
> Do I understand correctly that this test just shows that you can use a
> ByteArray to store ints in a endian aware way? If so, why did Andreas
> use -1, which wouldn't show an endian reversal?
>
> frank
>
> On 04 Nov 2013, at 22:04, Nicolas Cellier
> <nicolas.cellier.aka.nice at gmail.com
> <mailto:nicolas.cellier.aka.nice at gmail.com>> wrote:
>
>> 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
>> <mailto: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
>> <mailto: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
>> <mailto: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
>> <mailto:nicolas.cellier.aka.nice at gmail.com>> wrote:
>> >> > Sure! I said while at it ;)
>> >> >
>> >> >
>> >> > 2013/11/4 Frank Shearar <frank.shearar at gmail.com
>> <mailto: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
>> <mailto: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
>> <mailto: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/20131105/f8e758b1/attachment-0001.htm
More information about the Squeak-dev
mailing list
|