From 07243dd154fef996c0063cd2880f0b3297c5168e Mon Sep 17 00:00:00 2001 From: Asumu Takikawa Date: Fri, 24 Jan 2014 17:14:45 -0500 Subject: [PATCH] Add static contract tests for classes original commit: 39b237043d0d91058ac8cb041eb665f502b17590 --- .../typed-racket/unit-tests/contract-tests.rkt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/contract-tests.rkt b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/contract-tests.rkt index 3fc04615..12458e60 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/contract-tests.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/contract-tests.rkt @@ -127,4 +127,20 @@ (t-sc (-lst Univ) (listof/sc any-wrap/sc)) (t-sc (Un (-lst Univ) -Number) (or/sc number/sc (listof/sc any-wrap/sc))) + ;; classes + (t-sc (-class) (class/sc null #f null null)) + (t-sc (-class #:init ([x -Number #f] [y -Number #f])) + (class/sc (list (member-spec 'init 'x number/sc) + (member-spec 'init 'y number/sc)) + #f null null)) + (t-sc (-class #:init ([x -Number #f] [y -Number #t])) + (class/sc (list (member-spec 'init 'x number/sc) + (member-spec 'init 'y number/sc)) + #f null null)) + (t-sc (-class #:init ([x -Number #f]) #:init-field ([y -Integer #f])) + (class/sc (list (member-spec 'init 'x number/sc) + (member-spec 'init 'y integer/sc) + (member-spec 'field 'y integer/sc) + (member-spec 'inherit-field 'y integer/sc)) + #f null null)) ))