from pathlib import Path root = Path(__file__).parent rel = Path('pipe-network-service/zksy-admin/src/test/java/com/zksy/web/controller/cockpit/CockpitMonitoringDistributionControllerTest.java') s = (Path('E:/pipe-ner-server') / rel).read_text(encoding='utf-8') s = s.replace('distributionExposesEnvelopeSixStateDistributionDistrictIndustryTypeAndMapFilter', 'distributionExposesEnvelopeGlobalEightStateDistributionAndMapFilter') s = s.replace('pointStatusDistribution", hasSize(6)', 'pointStatusDistribution", hasSize(8)') s = s.replace('pointStatus must be ALARM, WARNING, WORK_ORDER, NORMAL, OFFLINE or EMPTY', 'pointStatus must be ALARM, WARNING, WORK_ORDER, NORMAL, OFFLINE, EMPTY, UNKNOWN or UNASSOCIATED') s = s.replace('pointStatusDistribution[0].count").value(0)', 'pointStatusDistribution[0].count").value(1)') s = s.replace('pointStatusDistribution[1].count").value(2)', 'pointStatusDistribution[1].count").value(1)') s = s.replace('pointStatusDistribution[4].count").value(2)', 'pointStatusDistribution[4].count").value(1)') s = s.replace('pointStatusDistribution[4].count").value(0)', 'pointStatusDistribution[4].count").value(1)') s = s.replace('assertEquals(2, statusCount(initial, CockpitMonitoringPointStatus.OFFLINE))', 'assertEquals(1, statusCount(initial, CockpitMonitoringPointStatus.OFFLINE))') for target in ('applied', 'ignoredOld', 'ignoredUnknown'): s = s.replace(f'assertEquals(1, statusCount({target}, CockpitMonitoringPointStatus.OFFLINE))', f'assertEquals(0, statusCount({target}, CockpitMonitoringPointStatus.OFFLINE))') s = s.replace('assertEquals(1, statusCount(all, CockpitMonitoringPointStatus.NORMAL))', 'assertEquals(0, statusCount(all, CockpitMonitoringPointStatus.NORMAL))') (root / rel).write_text(s, encoding='utf-8', newline='\n') # Add publication and explicit status-7 regression assertions to the actual fact resolver seam. rel = Path('pipe-network-service/zksy-admin/src/test/java/com/zksy/web/controller/cockpit/BusinessCockpitDeviceFactResolverTest.java') s = (Path('E:/pipe-ner-server') / rel).read_text(encoding='utf-8') s = s.replace('import static org.junit.jupiter.api.Assertions.assertFalse;', 'import static org.junit.jupiter.api.Assertions.assertFalse;\nimport static org.junit.jupiter.api.Assertions.assertNull;') anchor = ' // ---- fixtures ----' addition = ''' @Test void publishedOfflineAndMissingStatusAreDistinctAndDoNotDependOnTimestamp() { EquipmentStatus offline = status(1, 0, 0); offline.setStatusUpdateTime(null); when(equipmentStatusService.getByDeviceCode("DEV-PUBLISHED")).thenReturn(offline); assertEquals("OFFLINE", resolver.resolve(device("DEV-PUBLISHED"), null).getPublishedDeviceStatus()); assertNull(resolver.resolve(device("DEV-MISSING"), null).getPublishedDeviceStatus()); } @Test void cancelledStatusSevenNeverPublishesWorkOrderState() { when(equipmentStatusService.getByDeviceCode("DEV-CANCELLED")).thenReturn(status(1, 0, 1)); when(workOrderService.list(any(Wrapper.class))).thenReturn(Collections.singletonList(order(7))); CockpitMonitoringPointDeviceSnapshot fact = resolver.resolve(device("DEV-CANCELLED"), null); assertFalse(fact.isWorkOrderInProgress()); assertEquals("NORMAL", fact.getPublishedDeviceStatus()); assertEquals(CockpitMonitoringPointStatus.NORMAL, CockpitMonitoringPointStatusResolver.resolve(Collections.singletonList(fact))); } ''' assert anchor in s s = s.replace(anchor, addition + anchor) (root / rel).write_text(s, encoding='utf-8', newline='\n') print('Preserved concurrent distribution tests and added publication/status-7 regressions.')