CustomSubContextTests.st
author Jakub Nesveda <jakubnesveda@seznam.cz>
Sun, 25 Jan 2015 13:39:42 +0100
changeset 803 95cdac772759
parent 761 afbac76f54d3
child 829 59bfd92fcef0
permissions -rw-r--r--
Fixed failing tests caused by new STX release * RBParser cannot parse expressions like #NameSpace::Class - changed to #'NameSpace::Class' * AddClassChange has renamed variables instanceVariableNames -> instanceVariableString, classVariableNames -> classVariableString
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
756
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
     1
"{ Package: 'jn:refactoring_custom' }"
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
     2
803
95cdac772759 Fixed failing tests caused by new STX release
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 761
diff changeset
     3
"{ NameSpace: Smalltalk }"
95cdac772759 Fixed failing tests caused by new STX release
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 761
diff changeset
     4
756
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
     5
TestCase subclass:#CustomSubContextTests
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
     6
	instanceVariableNames:'model context'
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
     7
	classVariableNames:''
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
     8
	poolDictionaries:''
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
     9
	category:'Interface-Refactoring-Custom-Tests'
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    10
!
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    11
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    12
!CustomSubContextTests methodsFor:'initialization & release'!
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    13
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    14
setUp
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    15
    super setUp.
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    16
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    17
    model := CustomNamespace new.
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    18
    context := CustomSubContext new
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    19
        model: model;
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    20
        yourself
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    21
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    22
    "Modified: / 19-11-2014 / 19:59:15 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    23
! !
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    24
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    25
!CustomSubContextTests methodsFor:'tests'!
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    26
761
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    27
test_selected_classes_as_rb_class
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    28
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    29
    |expectedClasses actualClasses modelClass|
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    30
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    31
    modelClass := model classNamed: self class name.
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    32
    expectedClasses := Array with: modelClass.
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    33
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    34
    context selectedClasses: (Array with: self class).
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    35
    actualClasses := context selectedClasses.
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    36
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    37
    self assert: expectedClasses = actualClasses
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    38
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    39
    "Created: / 25-11-2014 / 20:31:01 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    40
!
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    41
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    42
test_selected_classes_existing_rb_class
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    43
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    44
    |expectedClasses actualClasses modelClass|
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    45
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    46
    modelClass := model classNamed: self class name.
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    47
    expectedClasses := Array with: modelClass.
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    48
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    49
    context selectedClasses: (Array with: modelClass).
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    50
    actualClasses := context selectedClasses.
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    51
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    52
    self assert: expectedClasses = actualClasses
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    53
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    54
    "Created: / 25-11-2014 / 20:37:54 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    55
!
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    56
756
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    57
test_selected_methods_as_rb_method
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    58
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    59
    |expectedMethods realMethod actualMethods modelClass modelMethod|
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    60
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    61
    modelClass := model classNamed: self class name.
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    62
    modelMethod := modelClass compiledMethodAt: #test_selected_methods_as_rb_method.
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    63
    expectedMethods := Array with: modelMethod.
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    64
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    65
    realMethod := self class compiledMethodAt: #test_selected_methods_as_rb_method.
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    66
    context selectedMethods: (Array with: realMethod).
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    67
    actualMethods := context selectedMethods.
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    68
761
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    69
    "Cannot test collection equality, because each contains different RBMethod instance
756
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    70
    self assert: expectedMethods = actualMethods"
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    71
    self assert: (expectedMethods size) = (actualMethods size).
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    72
    self assert: (expectedMethods first selector) = (actualMethods first selector).
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    73
    self assert: (expectedMethods first isKindOf: RBMethod).    
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    74
    self deny: expectedMethods first isMethod
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    75
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    76
    "Modified: / 19-11-2014 / 20:29:40 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
761
afbac76f54d3 fixed problem with different model in a generator and in the context
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 756
diff changeset
    77
    "Modified (comment): / 25-11-2014 / 20:30:37 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
756
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    78
!
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    79
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    80
test_selected_methods_existing_rb_method
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    81
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    82
    |expectedMethods actualMethods modelClass modelMethod|
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    83
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    84
    modelClass := model classNamed: self class name.
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    85
    modelMethod := modelClass compiledMethodAt: #test_selected_methods_as_rb_method.
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    86
    expectedMethods := Array with: modelMethod.
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    87
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    88
    context selectedMethods: (Array with: modelMethod).
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    89
    actualMethods := context selectedMethods.
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    90
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    91
    self assert: expectedMethods = actualMethods
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    92
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    93
    "Created: / 19-11-2014 / 20:30:39 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    94
! !
1dcd0b55815e added convert to RBMethod when real methods are passed into CustomSubContext >> selectedMethods:
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
diff changeset
    95