In test_5, 5 males and 5 females are provided. However, one male (Marko) got matched with two females (Dusika and Karry) The score of each match and the matching is attached below. Ivan ranking: Karry score: 84 Betty score: 80 Maggy score: 48 Andela score: 27 Dusica score: 27 Timur ranking: Karry score: 88 Maggy score: 32 Dusica score: 25 Andela score: 20 Betty score: 20 Marko ranking: Karry score: 88 Betty score: 79 Andela score: 69 Maggy score: 38 Dusica score: 33 John ranking: Karry score: 88 Betty score: 79 Maggy score: 37 Andela score: 30 Dusica score: 30 Blake ranking: Betty score: 79 Karry score: 77 Andela score: 72 Maggy score: 36 Dusica score: 29 Timur ranking: Karry score: 88 Maggy score: 32 Dusica score: 25 Andela score: 20 Betty score: 20 Marko ranking: Karry score: 88 Betty score: 79 Andela score: 69 Maggy score: 38 Dusica score: 33 Andela ranking: Ivan score: 70 Timur score: 69 Marko score: 30 John score: 30 Blake score: 47 Dusica ranking: Ivan score: 34 Timur score: 39 Marko score: 30 John score: 30 Blake score: 43 Karry ranking: Ivan score: 85 Timur score: 88 Marko score: 94 John score: 94 Blake score: 77 Maggy ranking: Ivan score: 51 Timur score: 39 Marko score: 32 John score: 32 Blake score: 49 Betty ranking: Ivan score: 78 Timur score: 74 Marko score: 37 John score: 37 Blake score: 25 Blake & Andela Marko & Dusica Marko & Karry Timur & Maggy John & Betty
The bug really happens, thanks for pointing it out. The bug occurs from the Stable_Matching.stable_match(). In the case that better partner is found, the new partner should be removed and added to the list of male who does not have pair yet. However, the previous code added the better partner to the list, thus causing the duplicate case. Again, thank you for pointing this out. The bug is resolved.