From a3e8f693d929788dc820b9ef362172a4f5354e2c Mon Sep 17 00:00:00 2001 From: "WQY\\qiong" Date: Sat, 29 Apr 2023 17:21:29 +0800 Subject: [PATCH] Add test for virtual district --- test_tjnetwork.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/test_tjnetwork.py b/test_tjnetwork.py index 2d0ddaa..df4ea32 100644 --- a/test_tjnetwork.py +++ b/test_tjnetwork.py @@ -5564,5 +5564,42 @@ class TestApi: self.leave(p) + # 37 virtual_district + + def test_virtual_district(self): + p = 'test_virtual_district' + read_inp(p, f'./inp/net3.inp', '3') + + open_project(p) + + result = calculate_virtual_district(p, ['107', '139', '267', '211']) + + assert result == { + 'virtual_districts':[ + { + 'center': '107', + 'nodes': ['10', '101', '103', '105', '109', '111', '115', '117', '119', '120', '139', '257', '259', '261', '263', '267', 'Lake'], + 'boundary': [(23.38, 12.95), (12.96, 21.31), (8.0, 27.53), (9.0, 27.85), (33.28, 24.54), (23.38, 12.95)] + }, + { + 'center': '139', + 'nodes': ['15', '20', '60', '601', '61', '121', '123', '125', '127', '129', '131', '141', '143', '145', '147', '149', '151', '153', 'River', '3'], + 'boundary': [(33.02, 19.29), (30.24, 20.38), (28.29, 21.39), (23.54, 25.5), (23.0, 29.49), (24.15, 31.06), (37.89, 29.55), (38.68, 23.76), (37.47, 21.97), (33.02, 19.29)] + }, + { + 'center': '267', + 'nodes': ['35', '40', '113', '157', '159', '161', '163', '164', '166', '167', '169', '171', '173', '177', '179', '181', '183', '184', '185', '187', '189', '191', '193', '195', '197', '204', '211', '265', '269', '271', '1', '107'], + 'boundary': [(34.2, 5.54), (25.15, 9.52), (23.64, 11.04), (20.97, 15.18), (18.45, 20.46), (24.85, 20.16), (34.2, 5.54)] + }, + { + 'center': '211', + 'nodes': ['50', '199', '201', '203', '205', '206', '207', '208', '209', '213', '215', '217', '219', '225', '229', '231', '237', '239', '241', '243', '247', '249', '251', '253', '255', '273', '275', '2'], + 'boundary': [(37.04, 0.0), (34.15, 1.1), (32.17, 1.88), (29.2, 6.46), (29.16, 7.38), (29.42, 8.44), (31.14, 8.89), (44.86, 9.32), (43.53, 7.38), (37.04, 0.0)] + }], + 'isolated_nodes': []} + + self.leave(p) + + if __name__ == '__main__': pytest.main()