@@ -1434,7 +1434,7 @@ def test_poissoninterval_dist_object(self):
1434
1434
expected_dates = [0 ]
1435
1435
for t in Pi .inter_arrivals :
1436
1436
expected_dates .append (expected_dates [- 1 ] + t )
1437
- self .assertEqual (Pi .dates , expected_dates )
1437
+ self .assertEqual (Pi .dates , expected_dates [: - 1 ] )
1438
1438
self .assertLessEqual (Pi .dates [- 1 ], Pi .max_sample_date )
1439
1439
1440
1440
self .assertRaises (
@@ -1483,19 +1483,38 @@ def test_poissoninterval_dist_object(self):
1483
1483
def test_poissoninterval_rate_zero (self ):
1484
1484
ciw .seed (5 )
1485
1485
Pi = ciw .dists .PoissonIntervals (
1486
- rates = [10 , 0 ], endpoints = [1 , 2 ], max_sample_date = 15
1486
+ rates = [10 , 0 ], endpoints = [1 , 2 ], max_sample_date = 15.5
1487
1487
)
1488
1488
arrivals_when_rate_is_zero = [date for date in Pi .dates if int (date ) % 2 == 1 ]
1489
1489
self .assertEqual (arrivals_when_rate_is_zero , [])
1490
+ final_date = Pi .dates [- 1 ]
1491
+ self .assertTrue (final_date < 15 )
1490
1492
1491
1493
ciw .seed (5 )
1492
1494
Pi = ciw .dists .PoissonIntervals (
1493
- rates = [0 , 0 ], endpoints = [1 , 2 ], max_sample_date = 15
1495
+ rates = [0 , 0 ], endpoints = [1 , 2 ], max_sample_date = 15.5
1494
1496
)
1495
1497
arrivals_when_rate_is_zero = [date for date in Pi .dates if int (date ) % 2 == 1 ]
1496
1498
self .assertEqual (arrivals_when_rate_is_zero , [])
1497
1499
self .assertEqual (Pi .sample (), float ("inf" ))
1498
1500
1501
+ ciw .seed (5 )
1502
+ Pi = ciw .dists .PoissonIntervals (
1503
+ rates = [3 , 2 , 0 ], endpoints = [1 , 2 , 10 ], max_sample_date = 9
1504
+ )
1505
+ final_date = Pi .dates [- 1 ]
1506
+ self .assertTrue (final_date < 2 )
1507
+
1508
+ t = 0
1509
+ arrivals = []
1510
+ while t < 8 :
1511
+ t += Pi .sample ()
1512
+ arrivals .append (t )
1513
+ final_sample = arrivals [- 1 ]
1514
+ final_arrival = arrivals [- 2 ]
1515
+ self .assertEqual (final_sample , float ('inf' ))
1516
+ self .assertEqual (final_arrival , final_date )
1517
+
1499
1518
def test_poissoninterval_against_theory (self ):
1500
1519
"""
1501
1520
rates = [5, 1.5, 3]
0 commit comments