When you put tests inside a submodule is the source code left in the same file? For instance on this example:
; 5.8 Exercise 81
;time-since-midnight is (time-since-midnight Number Number Number)
(struct time-since-midnight ([hour : Number] [minute : Number] [second : Number]))
; Take TIME-SINCE-MIDNIGHT and return equivalent number of seconds
; time-since-midnight -> seconds
;
(: time->seconds (-> time-since-midnight Number))
(define (time->seconds time)
(+ (* (time-since-midnight-hour time) 3600)
(* (time-since-midnight-minute time) 60)
(time-since-midnight-second time)))
(check-equal? (time->seconds (time-since-midnight 0 23 30)) 1410)
(check-equal? (time->seconds (time-since-midnight 10 12 25)) 36745)
Would I modify it to something like this?
; 5.8 Exercise 81
;time-since-midnight is (time-since-midnight Number Number Number)
(struct time-since-midnight ([hour : Number] [minute : Number] [second : Number]))
; Take TIME-SINCE-MIDNIGHT and return equivalent number of seconds
; time-since-midnight -> seconds
;
(: time->seconds (-> time-since-midnight Number))
(define (time->seconds time)
(+ (* (time-since-midnight-hour time) 3600)
(* (time-since-midnight-minute time) 60)
(time-since-midnight-second time)))
(module+ test
(check-equal? (time->seconds (time-since-midnight 0 23 30)) 1410)
(check-equal? (time->seconds (time-since-midnight 10 12 25)) 36745))
I hate to impose on your generous help but could you point me to an example of what you're talking about?