using SQLInsight.Collectors.Performance; namespace SQLInsight.Collectors.Tests; public class ShowplanAnalyzerTests { private const string Plan = """ """; [Fact] public void Finds_the_warnings_that_matter() { var warnings = ShowplanAnalyzer.Analyze(Plan); Assert.Equal(["CONVERT_IMPLICIT(nvarchar(20),[x].[Code],0)=[@code]"], warnings.SeekPreventingConversions); Assert.True(warnings.NoJoinPredicate); Assert.Equal(["[Sales].[dbo].[fn_Price]"], warnings.ScalarUdfs); Assert.Equal(["[Orders].Status"], warnings.ColumnsWithNoStatistics); Assert.False(warnings.NotAnalyzed); } [Theory] [InlineData(null)] [InlineData("")] [InlineData("]>&e;").NotAnalyzed); } }