tests/RGNamespaceTest.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 02 Sep 2015 09:18:30 +0100
changeset 4 90637b709fa9
parent 0 43cb9f3e345e
permissions -rw-r--r--
Added RGAbstractContainer>>addElements:

"{ Package: 'stx:goodies/ring/tests' }"

"{ NameSpace: Smalltalk }"

TestCase subclass:#RGNamespaceTest
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'Ring-Core-Containers-Tests'
!

RGNamespaceTest comment:'SUnit tests for namespaces'
!

!RGNamespaceTest methodsFor:'testing'!

testCreatingNamespace
    | newNamespace newPackage newClass |
    
    newNamespace := RGNamespace named: #'RingNamespace'.
    newPackage := RGPackage named:  #'Collections-Sequenceable'.
    newClass:= RGClassDefinition named: #OrderedCollection.
    newPackage addClass: newClass.
    newNamespace addPackage: newPackage;
        addClass: newClass.
    
    self assert: (newNamespace isNamespace).
    self assert: ((newNamespace packageNamed: #'Collections-Sequenceable') == newPackage).
    self assert: ((newNamespace classNamed: #OrderedCollection) == newClass).
    self assert: (newNamespace methods isEmpty).
    self assert: (newNamespace pools isEmpty).
    self assert: (newNamespace globalVariables isEmpty).
    
    newNamespace removeClass: newClass.
    self assert: ((newNamespace classNamed: #OrderedCollection) isNil).
    self assert: ((newPackage classNamed: #OrderedCollection) notNil).
! !