RegressionTests__DictionaryTest.st
author Patrik Svestka <patrik.svestka@gmail.com>
Tue, 09 Apr 2019 11:18:28 +0200
branchjv
changeset 2214 ba58ef8a6214
parent 1974 f2eaf05205d6
permissions -rwxr-xr-x
Issue #269: Tests when renaming registy subKey(s)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1974
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
     1
"
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
     2
 COPYRIGHT (c) Claus Gittinger / eXept Software AG
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
     3
 COPYRIGHT (c) 2016 Jan Vrany
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
     4
              All Rights Reserved
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
     5
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
     6
 This software is furnished under a license and may be used
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
     7
 only in accordance with the terms of that license and with the
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
     8
 inclusion of the above copyright notice.   This software may not
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
     9
 be provided or otherwise made available to, or used by, any
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    10
 other person.  No title to or ownership of the software is
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    11
 hereby transferred.
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    12
"
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1055
diff changeset
    13
"{ Package: 'stx:goodies/regression' }"
296
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
"{ NameSpace: RegressionTests }"
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
TestCase subclass:#DictionaryTest
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	instanceVariableNames:''
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	classVariableNames:''
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	poolDictionaries:''
1055
0d0b2641d00b category
Claus Gittinger <cg@exept.de>
parents: 296
diff changeset
    21
	category:'tests-Regression-Collections'
296
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
!
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
1974
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    24
!DictionaryTest class methodsFor:'documentation'!
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    25
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    26
copyright
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    27
"
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    28
 COPYRIGHT (c) Claus Gittinger / eXept Software AG
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    29
 COPYRIGHT (c) 2016 Jan Vrany
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    30
              All Rights Reserved
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    31
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    32
 This software is furnished under a license and may be used
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    33
 only in accordance with the terms of that license and with the
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    34
 inclusion of the above copyright notice.   This software may not
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    35
 be provided or otherwise made available to, or used by, any
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    36
 other person.  No title to or ownership of the software is
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    37
 hereby transferred.
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    38
"
f2eaf05205d6 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1564
diff changeset
    39
! !
296
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
!DictionaryTest methodsFor:'testing'!
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
testAddAll
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
	"(self run: #testAddAll)"
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1055
diff changeset
    45
296
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
	| dict1 dict2 |
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
	dict1 := Dictionary new.
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1055
diff changeset
    48
	dict1 at: #a put:1 ; at: #b put: 2.
296
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
	dict2 := Dictionary new.
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
	dict2 at: #a put: 3 ; at: #c put: 4.
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
	dict1 addAll: dict2.
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
	self assert: (dict1 at: #a) = 3.
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
	self assert: (dict1 at: #b) = 2.
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
	self assert: (dict1 at: #c) = 4.
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
!
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
testAssociationsSelect
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
1547
606e915e2216 #BUGFIX by sr
sr
parents: 1447
diff changeset
    59
        "(self selector: #testAssociationsSelect) run"
296
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
1547
606e915e2216 #BUGFIX by sr
sr
parents: 1447
diff changeset
    61
        | answer d|
296
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
1547
606e915e2216 #BUGFIX by sr
sr
parents: 1447
diff changeset
    63
        d := Dictionary new.
606e915e2216 #BUGFIX by sr
sr
parents: 1447
diff changeset
    64
        d at: (Array with: #hello with: #world) put: #fooBar.
606e915e2216 #BUGFIX by sr
sr
parents: 1447
diff changeset
    65
        d at: Smalltalk put: #'Smalltalk is the key'.
606e915e2216 #BUGFIX by sr
sr
parents: 1447
diff changeset
    66
        d at: #Smalltalk put: Smalltalk.
296
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
1547
606e915e2216 #BUGFIX by sr
sr
parents: 1447
diff changeset
    68
        answer := d associationsSelect:
606e915e2216 #BUGFIX by sr
sr
parents: 1447
diff changeset
    69
                [:assoc | (assoc key == #Smalltalk) and: [assoc value == Smalltalk]].
606e915e2216 #BUGFIX by sr
sr
parents: 1447
diff changeset
    70
        self should: [answer isKindOf: Dictionary].
606e915e2216 #BUGFIX by sr
sr
parents: 1447
diff changeset
    71
        self should: [answer size == 1].
606e915e2216 #BUGFIX by sr
sr
parents: 1447
diff changeset
    72
        self should: [(answer at: #Smalltalk) == Smalltalk].
296
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
1547
606e915e2216 #BUGFIX by sr
sr
parents: 1447
diff changeset
    74
        answer := d associationsSelect:
606e915e2216 #BUGFIX by sr
sr
parents: 1447
diff changeset
    75
                [:assoc | (assoc key == #NoSuchKey) and: [assoc value == #NoSuchValue]].
606e915e2216 #BUGFIX by sr
sr
parents: 1447
diff changeset
    76
        self should: [answer isKindOf: Dictionary].
606e915e2216 #BUGFIX by sr
sr
parents: 1447
diff changeset
    77
        self should: [answer size == 0]
296
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
!
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
testComma
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
	"(self run: #testComma)"
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1055
diff changeset
    82
296
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
	| dict1 dict2 dict3 |
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
	dict1 := Dictionary new.
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1055
diff changeset
    85
	dict1 at: #a put:1 ; at: #b put: 2.
296
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
	dict2 := Dictionary new.
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
	dict2 at: #a put: 3 ; at: #c put: 4.
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
	dict3 := dict1, dict2.
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
	self assert: (dict3 at: #a) = 3.
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
	self assert: (dict3 at: #b) = 2.
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
	self assert: (dict3 at: #c) = 4.
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
!
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
testIncludesAssociation
1553
5eecd405c903 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1547
diff changeset
    95
        "self debug: #testIncludesAssociation"
296
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
1553
5eecd405c903 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1547
diff changeset
    97
        | d |
5eecd405c903 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1547
diff changeset
    98
        d := Dictionary new
5eecd405c903 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1547
diff changeset
    99
                at: #five put: 5;
5eecd405c903 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1547
diff changeset
   100
                at: #givemefive put: 5;
5eecd405c903 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1547
diff changeset
   101
                at: #six put: 6;
5eecd405c903 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1547
diff changeset
   102
                yourself.
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1055
diff changeset
   103
1553
5eecd405c903 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1547
diff changeset
   104
        self assert: (d includesAssociation: (d associationAt: #five)).
5eecd405c903 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1547
diff changeset
   105
        self assert: (d associationAt: #five) key == #five.
5eecd405c903 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1547
diff changeset
   106
        self assert: (d associationAt: #five) value == 5.
5eecd405c903 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1547
diff changeset
   107
        self assert: (d includesAssociation: (#five -> 5)).
5eecd405c903 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1547
diff changeset
   108
        self assert: (d includesAssociation: (#five -> 6)) not.
5eecd405c903 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1547
diff changeset
   109
5eecd405c903 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1547
diff changeset
   110
    "Modified: / 06-12-2016 / 14:19:15 / cg"
296
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
! !
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
!DictionaryTest class methodsFor:'documentation'!
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
version
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
    ^ '$Header$'
ddacf68f6660 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
! !
1055
0d0b2641d00b category
Claus Gittinger <cg@exept.de>
parents: 296
diff changeset
   118