www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit dd21c82c858b6066883e9c656adf9b4dc1b409f6
parent 3eecf3796e83126190e77516b9658f440859b6d8
Author: Georges Dupéron <georges.duperon@gmail.com>
Date:   Sat,  8 Oct 2016 17:19:26 +0200

Added tests for different orders of types in the union for traversal.hl.rkt

Diffstat:
Mtest/test-traversal-2.rkt | 56++++++++++++++++++++++++++++++++++++++++++++------------
1 file changed, 44 insertions(+), 12 deletions(-)

diff --git a/test/test-traversal-2.rkt b/test/test-traversal-2.rkt @@ -14,14 +14,14 @@ (define-fold f₃ t₃ (U (tagged tg [a String] [b Boolean]) (tagged tg [a Boolean] [c String])) String) -#;(define-fold f₄ t₄ (U (tagged tg [a String] [b Boolean]) - String - (tagged tg [a Boolean] [c String])) - String) -#;(define-fold f₄ t₄ (U (tagged t0) - String - (tagged tg [a Boolean] [c String])) - String) +(define-fold f₄ t₄ (U (tagged tg [a String] [b Boolean]) + String + (tagged tg [a Boolean] [c String])) + String) +(define-fold f₅ t₅ (U (tagged t0) + String + (tagged tg [a Boolean] [c String])) + String) (define-fold f₆ t₆ (U String (tagged tg [a String] [b Boolean])) String) @@ -53,15 +53,15 @@ Integer) (tagged tg [a #t] [c 'def]) 1) -#;(check-equal?-values: - ((f₄ string? string->symbol+acc) (tagged tg [a #t] [c "def"]) 0) +(check-equal?-values: + ((f₄ string? string->symbol+acc) (tagged tg [a "abc"] [b #f]) 0) : (Values (U (tagged tg [a Symbol] [b Boolean]) Symbol (tagged tg [a Boolean] [c Symbol])) Integer) - (tagged tg [a #t] [c 'def]) 1) + (tagged tg [a 'abc] [b #f]) 1) -#;(check-equal?-values: +(check-equal?-values: ((f₄ string? string->symbol+acc) "ghi" 0) : (Values (U (tagged tg [a Symbol] [b Boolean]) Symbol @@ -70,6 +70,38 @@ 'ghi 1) (check-equal?-values: + ((f₄ string? string->symbol+acc) (tagged tg [a #t] [c "def"]) 0) + : (Values (U (tagged tg [a Symbol] [b Boolean]) + Symbol + (tagged tg [a Boolean] [c Symbol])) + Integer) + (tagged tg [a #t] [c 'def]) 1) + +(check-equal?-values: + ((f₅ string? string->symbol+acc) (tagged t0 #:instance) 0) + : (Values (U (tagged t0) + Symbol + (tagged tg [a Boolean] [c Symbol])) + Integer) + (tagged t0 #:instance) 0) + +(check-equal?-values: + ((f₅ string? string->symbol+acc) "ghi" 0) + : (Values (U (tagged t0) + Symbol + (tagged tg [a Boolean] [c Symbol])) + Integer) + 'ghi 1) + +(check-equal?-values: + ((f₅ string? string->symbol+acc) (tagged tg [a #t] [c "def"]) 0) + : (Values (U (tagged t0) + Symbol + (tagged tg [a Boolean] [c Symbol])) + Integer) + (tagged tg [a #t] [c 'def]) 1) + +(check-equal?-values: ((f₆ string? string->symbol+acc) (tagged tg [a "abc"] [b #f]) 0) : (Values (U (tagged tg [a Symbol] [b Boolean]) Symbol)