(define container ([] "UiContainer" alloc)) (greg-testcase "UiContainer initialisation" #t (lambda () (equal? container ([] container initWithPosition: '(0.5 0.125))))) (define widget1 ([] ([] "UiWidget" alloc) initWithPosition: '(0.0 0.0) size: '(0.125 0.125))) (greg-testcase "UiContainer size of the array after adding a widget" #t (lambda () ([] container addWidget: widget1) (and (equal? 1 ([] (gstep-get-ivar container "_widgets") count)) (gstep-bool ([] (gstep-get-ivar container "_widgets") containsObject: widget1))))) (greg-testcase "UiContainer size after adding widget1" #t (lambda() (equal? '(0.125 0.125) ([] container size)))) (define widget2 ([] ([] "UiWidget" alloc) initWithPosition: '(0.125 0.0) size: '(0.125 0.125))) (greg-testcase "UiContainer size after adding widget2" #t (lambda() ([] container addWidget: widget2) (and (equal? '(0.25 0.125) ([] container size))) )) (define widget3 ([] ([] "UiWidget" alloc) initWithPosition: '(0.0 0.125) size: '(0.125 0.125))) (greg-testcase "UiContainer size after adding widget3" #t (lambda() ([] container addWidget: widget3) (and (equal? '(0.25 0.25) ([] container size))) )) (greg-testcase "UiContainer size of the array when remove widget2" #t (lambda() ([] container removeWidget: widget2) (and (equal? 2 ([] (gstep-get-ivar container "_widgets") count)))) ) (greg-testcase "UiContainer size after remove widget3" #t (lambda() (equal? '(0.125 0.25) ([] container size))))