From 1f9454af3356f628c25c3e2e492869163731da56 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 09 十月 2026 10:47:24 +0800
Subject: [PATCH] 修改bug
---
UserFBTravel/guns-admin/src/test/java/com/stylefeng/guns/modular/crossCity/server/impl/SiteServiceImplTest.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/UserFBTravel/guns-admin/src/test/java/com/stylefeng/guns/modular/crossCity/server/impl/SiteServiceImplTest.java b/UserFBTravel/guns-admin/src/test/java/com/stylefeng/guns/modular/crossCity/server/impl/SiteServiceImplTest.java
new file mode 100644
index 0000000..006ce6a
--- /dev/null
+++ b/UserFBTravel/guns-admin/src/test/java/com/stylefeng/guns/modular/crossCity/server/impl/SiteServiceImplTest.java
@@ -0,0 +1,51 @@
+package com.stylefeng.guns.modular.crossCity.server.impl;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+public class SiteServiceImplTest {
+
+ private static final String SQUARE = "0,0;10,0;10,10;0,10";
+
+ @Test
+ public void shouldRecognizePointInsidePolygon() {
+ assertTrue(SiteServiceImpl.isPointInElectronicFence("5,5", SQUARE));
+ }
+
+ @Test
+ public void shouldRecognizePointOutsidePolygon() {
+ assertFalse(SiteServiceImpl.isPointInElectronicFence("11,5", SQUARE));
+ }
+
+ @Test
+ public void shouldIncludePointOnEdgeAndVertex() {
+ assertTrue(SiteServiceImpl.isPointInElectronicFence("10,5", SQUARE));
+ assertTrue(SiteServiceImpl.isPointInElectronicFence("0,0", SQUARE));
+ }
+
+ @Test
+ public void shouldRecognizeConcavePolygon() {
+ String concavePolygon = "0,0;10,0;10,10;5,5;0,10";
+ assertTrue(SiteServiceImpl.isPointInElectronicFence("5,4", concavePolygon));
+ assertFalse(SiteServiceImpl.isPointInElectronicFence("5,8", concavePolygon));
+ }
+
+ @Test
+ public void shouldRecognizeAnyOfMultiplePolygons() {
+ String multiplePolygons = SQUARE + "_20,20;30,20;30,30;20,30";
+ assertTrue(SiteServiceImpl.isPointInElectronicFence("25,25", multiplePolygons));
+ assertFalse(SiteServiceImpl.isPointInElectronicFence("15,15", multiplePolygons));
+ }
+
+ @Test
+ public void shouldHandleWhitespaceAndInvalidCoordinates() {
+ assertTrue(SiteServiceImpl.isPointInElectronicFence(" 5 , 5 ", " 0,0 ; 10,0 ; 10,10 ; 0,10 "));
+ assertFalse(SiteServiceImpl.isPointInElectronicFence("invalid", SQUARE));
+ assertFalse(SiteServiceImpl.isPointInElectronicFence("5,5", "0,0;10,0"));
+ assertFalse(SiteServiceImpl.isPointInElectronicFence("5,5", "0,0;invalid;10,10"));
+ assertFalse(SiteServiceImpl.isPointInElectronicFence(null, SQUARE));
+ assertFalse(SiteServiceImpl.isPointInElectronicFence("5,5", null));
+ }
+}
--
Gitblit v1.7.1