3
; This test case must result in a pattern like this in the time-ext vector
5
; A . A . A . A A . A . A . A A . A . A . A and so on...
11
; number of defined events
14
(define (get-day tupleid) (quotient (get-time tupleid) periods))
15
(define (get-period tupleid) (modulo (get-time tupleid) periods))
17
; vector similar to time extension
18
(define time-ext (make-vector (* days periods) -1))
20
(define (<> n1 n2) (not (= n1 n2)))
22
; fill in time-ext vector
27
(vector-set! time-ext (get-time i) i)
31
(define (check-block start num)
32
(let loop ((i 0) (result #t))
34
(if (= (modulo i 2) 0)
35
(if (= (vector-ref time-ext (+ i start)) -1)
37
(if (<> (vector-ref time-ext (+ i start)) -1)
39
(loop (+ i 1) result))
44
(check-block 0 periods)
45
(check-block 7 periods)
46
(check-block 14 periods)
47
(check-block 21 periods)
48
(check-block 28 periods))
53
<module name="sametime" weight="60" mandatory="yes"/>
54
<module name="timeplace" weight="60" mandatory="yes"/>
55
<module name="maxconsecutive" weight="60" mandatory="yes">
56
<option name="max-consecutive">1</option>
62
<resourcetype type="teacher">
65
<resourcetype type="class">
70
<resourcetype type="room">
71
<linear name="#" from="1" to="40"/>
73
<resourcetype type="time">
74
<matrix width="5" height="7"/>
80
<event name="test-1-a" repeats="20">
81
<resource type="teacher" name="a"/>
82
<resource type="class" name="1"/>