CustomVisitorCodeGeneratorAcceptVisitorTests.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sun, 24 Aug 2014 01:49:18 +0100
changeset 635 9edd6a278835
parent 622 d99b3619655f
parent 634 d77d9a7561be
child 654 39e40ece4ae9
permissions -rw-r--r--
Merged 6f639016753b and d77d9a7561be

"{ Package: 'jn:refactoring_custom' }"

CustomCodeGeneratorOrRefactoringTestCase subclass:#CustomVisitorCodeGeneratorAcceptVisitorTests
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'Interface-Refactoring-Custom-Tests'
!

!CustomVisitorCodeGeneratorAcceptVisitorTests methodsFor:'accessing'!

generatorOrRefactoring
    ^ CustomVisitorCodeGeneratorAcceptVisitor new
! !

!CustomVisitorCodeGeneratorAcceptVisitorTests methodsFor:'tests'!

test_accept_visitor_method_generated_with_comments
    |expectedSource|

    userPreferences generateComments: true.  

    expectedSource := 'acceptVisitor:visitor

    "Double dispatch back to the visitor, passing my type encoded in
the selector (visitor pattern)"
    "stub code automatically generated - please change if required"

    ^ visitor visitDummyClassForGeneratorTestCase: self'.

    self executeGeneratorInContext:#classWithInstanceVariable.
    self assertMethodSource:expectedSource atSelector:#acceptVisitor:

    "Created: / 03-08-2014 / 23:06:24 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
!

test_accept_visitor_method_generated_without_comments
    |expectedSource|

    userPreferences generateComments: false.  

    expectedSource := 'acceptVisitor:visitor

    ^ visitor visitDummyClassForGeneratorTestCase: self'.

    self executeGeneratorInContext:#classWithInstanceVariable.
    self assertMethodSource:expectedSource atSelector:#acceptVisitor:

    "Created: / 03-08-2014 / 23:33:55 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
! !