diff options
author | Markus Teich <markus.teich@stusta.mhn.de> | 2016-11-01 12:16:12 +0100 |
---|---|---|
committer | Markus Teich <markus.teich@stusta.mhn.de> | 2016-11-01 12:16:12 +0100 |
commit | 257d5b72b07d44bf59f81806ff8352a710a1ac2b (patch) | |
tree | d956578010630b0ee195b54f7427e951218dcf2c | |
parent | 37ac9545eb77ea968a98a29c695dd52ec04cd369 (diff) |
test for no bidders
-rw-r--r-- | brandt.c | 2 | ||||
-rw-r--r-- | test_brandt.c | 7 |
2 files changed, 8 insertions, 1 deletions
@@ -107,7 +107,7 @@ seller_start (void *arg) if (0 == (ad->n = ad->start (ad->closure))) { weprintf ("no bidders registered for auction"); - /** todo: somehow mark auction as done / ready for cleanup */ + ad->result (ad->closure, NULL, 0); return; } diff --git a/test_brandt.c b/test_brandt.c index 0db012c..04226f0 100644 --- a/test_brandt.c +++ b/test_brandt.c @@ -65,6 +65,9 @@ expected_outcome (uint16_t i) uint16_t winners = MIN (tcase.m, tcase.n); uint16_t cur_winner = 0; + if (0 == tcase.n) + return NULL; + if (0 == tcase.m) { for (uint16_t h = 0; h < tcase.n; h++) @@ -379,6 +382,10 @@ main (int argc, char *argv[]) BRANDT_init (edc); ret |= 0 || + test_auction (0, 2, NULL, 0, 0) || + test_auction (0, 2, NULL, 0, 1) || + test_auction (0, 2, NULL, 1, 0) || + test_auction (0, 2, NULL, 2, 0) || test_auction (2, 2, (uint16_t[]) { 1, 0 }, 1, 0) || test_auction (3, 2, (uint16_t[]) { 0, 0, 1 }, 2, 0) || test_auction (3, 2, (uint16_t[]) { 0, 1, 1 }, 0, 0) || |