using BehaviourTree; using BetterGenshinImpact.GameTask.AutoFishing; using BetterGenshinImpact.GameTask.Model.Area; using OpenCvSharp; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BetterGenshinImpact.UnitTest.GameTaskTests.AutoFishingTests { public class AutoFishingImageRecognitionTests { [Theory] [InlineData(@"20250306111752769_GetFishBoxArea_Succeeded.png", 2)] [InlineData(@"20250313-0442-39.4967763.mp4_20250313_132441.664.png", 2)] // 网友反馈的案例,有偏色 [InlineData(@"20250313-0442-39.4967763.mp4_20250313_132441.969.png", 2)] [InlineData(@"20250314112457916_Fishing_Running.png", 3)] // 未熟练的鱼,条会变黄,两侧出现颜色接近的动态折线 [InlineData(@"202503140802528967.png", 3)] [InlineData(@"20250314155120958_Fishing_Error.png", 3)] /// /// 测试获取钓鱼拉扯框,结果框数匹配 /// public void GetFishBarRect_ShouldMatchRectCount(string screenshot1080p, int rectCount) { // using Mat mat = new Mat(@$"..\..\..\Assets\AutoFishing\{screenshot1080p}"); using Mat cropped = new Mat(mat, new Rect(0, 0, 1920, 140)); // List? sut = AutoFishingImageRecognition.GetFishBarRect(cropped); // Assert.Equal(rectCount, sut?.Count); } } }