using Adaptation._Tests.Shared;
using Microsoft.Extensions.Logging;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;

namespace Adaptation._Tests.CreateSelfDescription.Staging.v2_39_2;

[TestClass]
public class DEP08SIASM : EAFLoggingUnitTesting
{

#pragma warning disable CA2254
#pragma warning disable IDE0060

    internal static string DummyRoot { get; private set; }
    internal static DEP08SIASM EAFLoggingUnitTesting { get; private set; }

    public DEP08SIASM() : base(DummyRoot, testContext: null, declaringType: null, skipEquipmentDictionary: false)
    {
        if (EAFLoggingUnitTesting is null)
            throw new Exception();
    }

    public DEP08SIASM(TestContext testContext) : base(DummyRoot, testContext, new StackFrame().GetMethod().DeclaringType, skipEquipmentDictionary: false)
    {
    }

    [ClassInitialize]
    public static void ClassInitialize(TestContext testContext)
    {
        if (EAFLoggingUnitTesting is null)
            EAFLoggingUnitTesting = new DEP08SIASM(testContext);
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(testContext.TestName, " - ClassInitialize"));
        string[] fileNameAndText = EAFLoggingUnitTesting.AdaptationTesting.GetCSharpText(testContext.TestName);
        File.WriteAllText(fileNameAndText[0], fileNameAndText[1]);
        File.WriteAllText(fileNameAndText[2], fileNameAndText[3]);
    }

    [ClassCleanup()]
    public static void ClassCleanup()
    {
        if (EAFLoggingUnitTesting.Logger is not null)
            EAFLoggingUnitTesting.Logger.LogInformation("Cleanup");
        if (EAFLoggingUnitTesting is not null)
            EAFLoggingUnitTesting.Dispose();
    }

#if true
    [Ignore]
#endif
    [TestMethod]
    public void Staging__v2_39_2__DEP08SIASM__DEP08SIASM()
    {
        string check = "~IsXToOpenInsightMetrologyViewer";
        MethodBase methodBase = new StackFrame().GetMethod();
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Getting configuration"));
        _ = AdaptationTesting.GetWriteConfigurationGetFileRead(methodBase, check, EAFLoggingUnitTesting.AdaptationTesting);
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Exit"));
    }

#if true
    [Ignore]
#endif
    [TestMethod]
    public void Staging__v2_39_2__DEP08SIASM__DEP08SIASM_()
    {
        string check = "~IsXToIQSSi";
        MethodBase methodBase = new StackFrame().GetMethod();
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Getting configuration"));
        _ = AdaptationTesting.GetWriteConfigurationGetFileRead(methodBase, check, EAFLoggingUnitTesting.AdaptationTesting);
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Exit"));
    }

#if true
    [Ignore]
#endif
    [TestMethod]
    public void Staging__v2_39_2__DEP08SIASM__DEP08SIASM__()
    {
        string check = "~IsXToOpenInsight";
        MethodBase methodBase = new StackFrame().GetMethod();
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Getting configuration"));
        _ = AdaptationTesting.GetWriteConfigurationGetFileRead(methodBase, check, EAFLoggingUnitTesting.AdaptationTesting);
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Exit"));
    }

#if true
    [Ignore]
#endif
    [TestMethod]
    public void Staging__v2_39_2__DEP08SIASM__DEP08SIASM___()
    {
        string check = "~IsXToOpenInsightMetrologyViewerAttachments";
        MethodBase methodBase = new StackFrame().GetMethod();
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Getting configuration"));
        _ = AdaptationTesting.GetWriteConfigurationGetFileRead(methodBase, check, EAFLoggingUnitTesting.AdaptationTesting);
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Exit"));
    }

#if true
    [Ignore]
#endif
    [TestMethod]
    public void Staging__v2_39_2__DEP08SIASM__DEP08SIASM____()
    {
        string check = "~IsXToAPC";
        MethodBase methodBase = new StackFrame().GetMethod();
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Getting configuration"));
        _ = AdaptationTesting.GetWriteConfigurationGetFileRead(methodBase, check, EAFLoggingUnitTesting.AdaptationTesting);
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Exit"));
    }

#if true
    [Ignore]
#endif
    [TestMethod]
    public void Staging__v2_39_2__DEP08SIASM__DEP08SIASM_____()
    {
        string check = "~IsXToSPaCe";
        MethodBase methodBase = new StackFrame().GetMethod();
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Getting configuration"));
        _ = AdaptationTesting.GetWriteConfigurationGetFileRead(methodBase, check, EAFLoggingUnitTesting.AdaptationTesting);
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Exit"));
    }

#if true
    [Ignore]
#endif
    [TestMethod]
    public void Staging__v2_39_2__DEP08SIASM__DEP08SIASM______()
    {
        string check = "~IsXToArchive";
        MethodBase methodBase = new StackFrame().GetMethod();
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Getting configuration"));
        _ = AdaptationTesting.GetWriteConfigurationGetFileRead(methodBase, check, EAFLoggingUnitTesting.AdaptationTesting);
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Exit"));
    }

#if true
    [Ignore]
#endif
    [TestMethod]
    public void Staging__v2_39_2__DEP08SIASM__DEP08SIASM_______()
    {
        string check = "~IsArchive";
        MethodBase methodBase = new StackFrame().GetMethod();
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Getting configuration"));
        _ = AdaptationTesting.GetWriteConfigurationGetFileRead(methodBase, check, EAFLoggingUnitTesting.AdaptationTesting);
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Exit"));
    }

#if true
    [Ignore]
#endif
    [TestMethod]
    public void Staging__v2_39_2__DEP08SIASM__DEP08SIASM________()
    {
        string check = "~IsDummy";
        MethodBase methodBase = new StackFrame().GetMethod();
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Getting configuration"));
        _ = AdaptationTesting.GetWriteConfigurationGetFileRead(methodBase, check, EAFLoggingUnitTesting.AdaptationTesting);
        EAFLoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Exit"));
    }

}