using System; using System.Collections.Generic; using System.Text; namespace CustomRoslynAnalyzers.Test { public partial class PreventDateTimeNowUseAnalyzerTests { private const string BasicCorrectData = @" using System; using System.Diagnostics.CodeAnalysis; namespace TestPreventTimeNowUseAnalyzer { class Program { static void Main(string[] args) { var test = 1; } } }"; private const string BasicMethodData = @" using System; using System.Diagnostics.CodeAnalysis; namespace TestPreventTimeNowUseAnalyzer {{ class Program {{ static void Main(string[] args) {{ var test = {0}; }} }} }}"; private const string BasicFieldData = @" using System; using System.Diagnostics.CodeAnalysis; namespace TestPreventTimeNowUseAnalyzer {{ class Program {{ public DateTime test = {0}; static void Main(string[] args) {{ }} }} }}"; private const string BasicPassInParameterData = @" using System; using System.Diagnostics.CodeAnalysis; namespace TestPreventTimeNowUseAnalyzer {{ class Program {{ static void Main(string[] args) {{ TestMethod({0}); }} public static void TestMethod(DateTime d) {{ }} }} }}"; private const string BasicPropertyData = @" using System; using System.Diagnostics.CodeAnalysis; namespace TestPreventTimeNowUseAnalyzer {{ class Program {{ public DateTime test3 {{ get {{ return {0}; }} }} static void Main(string[] args) {{ }} }} }}"; private const string BasicLambdaData = @" using System; using System.Diagnostics.CodeAnalysis; namespace TestPreventTimeNowUseAnalyzer {{ class Program {{ Func testForEquality = (x, y) => {0}; static void Main(string[] args) {{ }} }} }}"; private const string BasicDelegateData = @" using System; using System.Diagnostics.CodeAnalysis; namespace TestPreventTimeNowUseAnalyzer {{ public delegate DateTime DateFunc(); class Program {{ DateFunc dateFunc = delegate () {{ return {0}; }}; static void Main(string[] args) {{ }} }} }}"; private const string MethodCodeFixData = @" using System; using System.Diagnostics.CodeAnalysis; namespace TestPreventTimeNowUseAnalyzer {{ class Program {{ [SuppressMessage(""AWSSDKRules"", ""CR1003"")] static void Main(string[] args) {{ var test = {0}; }} }} }}"; private const string FieldCodeFixData = @" using System; using System.Diagnostics.CodeAnalysis; namespace TestPreventTimeNowUseAnalyzer {{ class Program {{ [SuppressMessage(""AWSSDKRules"", ""CR1003"")] public DateTime test = {0}; static void Main(string[] args) {{ }} }} }}"; private const string PassInParameterCodeFixData = @" using System; using System.Diagnostics.CodeAnalysis; namespace TestPreventTimeNowUseAnalyzer {{ class Program {{ [SuppressMessage(""AWSSDKRules"", ""CR1003"")] static void Main(string[] args) {{ TestMethod({0}); }} public static void TestMethod(DateTime d) {{ }} }} }}"; private const string PropertyCodeFixData = @" using System; using System.Diagnostics.CodeAnalysis; namespace TestPreventTimeNowUseAnalyzer {{ class Program {{ [SuppressMessage(""AWSSDKRules"", ""CR1003"")] public DateTime test3 {{ get {{ return {0}; }} }} static void Main(string[] args) {{ }} }} }}"; private const string LambdaCodeFixData = @" using System; using System.Diagnostics.CodeAnalysis; namespace TestPreventTimeNowUseAnalyzer {{ class Program {{ [SuppressMessage(""AWSSDKRules"", ""CR1003"")] Func testForEquality = (x, y) => {0}; static void Main(string[] args) {{ }} }} }}"; private const string DelegateCodeFixData = @" using System; using System.Diagnostics.CodeAnalysis; namespace TestPreventTimeNowUseAnalyzer {{ public delegate DateTime DateFunc(); class Program {{ [SuppressMessage(""AWSSDKRules"", ""CR1003"")] DateFunc dateFunc = delegate () {{ return {0}; }}; static void Main(string[] args) {{ }} }} }}"; private static List MethodData => CreateSeperateData(BasicMethodData, MethodCodeFixData); private static List FieldData => CreateSeperateData(BasicFieldData, FieldCodeFixData); private static List PassInParameterData => CreateSeperateData(BasicPassInParameterData, PassInParameterCodeFixData); private static List PropertyData => CreateSeperateData(BasicPropertyData, PropertyCodeFixData); private static List LambdaData => CreateSeperateData(BasicLambdaData, LambdaCodeFixData); private static List DelegateData => CreateSeperateData(BasicDelegateData, DelegateCodeFixData); public static IEnumerable TestCorrectData => new List { new string[] { BasicCorrectData } }; public static IEnumerable TestMethodData => MethodData; public static IEnumerable TestFieldData => FieldData; public static IEnumerable TestPassInParameterData => PassInParameterData; public static IEnumerable TestPropertyData => PropertyData; public static IEnumerable TestLambdaData => LambdaData; public static IEnumerable TestDelegateData => DelegateData; private static List CreateSeperateData(string basicData, string codeFixData) { return new List { new string[] { basicData, "DateTime.Now", codeFixData}, new string[] { basicData, "DateTime.Today", codeFixData}, new string[] { basicData, "DateTime.UtcNow", codeFixData} }; } } }