Exemple #1
0
    void TestSagaDefinition <TSagaType>(ModuleDefinition moduleToUse = null)
    {
#pragma warning disable IDE0079 // Remove unnecessary suppression
#pragma warning disable IDE0054 //False positive
        moduleToUse = moduleToUse ?? module;
#pragma warning restore IDE0054 //False positive
#pragma warning restore IDE0079 // Remove unnecessary suppression

        var dataType     = moduleToUse.GetTypeDefinition <TSagaType>();
        var instructions = InstructionAnalyzer.GetConfigureHowToFindSagaInstructions(dataType);

        var results = new SagaInspectionResults
        {
            HasUnmanagedCalls  = InstructionAnalyzer.CallsUnmanagedMethods(instructions),
            HasUnexpectedCalls = InstructionAnalyzer.CallsUnexpectedMethods(instructions),
            HasBranchingLogic  = InstructionAnalyzer.ContainsBranchingLogic(instructions)
        };

        try
        {
            SagaDefinitionReader.TryGetSagaDefinition(dataType, out results.SagaDefinition);
        }
        catch (Exception x)
        {
            results.Exception = x.Message;
        }

        Approver.Verify(results);
    }
    private void TestSagaDefinition <TSagaType>(ModuleDefinition moduleToUse = null)
    {
        moduleToUse = moduleToUse ?? module;

        var dataType     = moduleToUse.GetTypeDefinition <TSagaType>();
        var instructions = InstructionAnalyzer.GetConfigureHowToFindSagaInstructions(dataType);

        var results = new SagaInspectionResults
        {
            HasUnmanagedCalls  = InstructionAnalyzer.CallsUnmanagedMethods(instructions),
            HasUnexpectedCalls = InstructionAnalyzer.CallsUnexpectedMethods(instructions),
            HasBranchingLogic  = InstructionAnalyzer.ContainsBranchingLogic(instructions)
        };

        try
        {
            SagaDefinitionReader.TryGetSagaDefinition(dataType, out results.SagaDefinition);
        }
        catch (Exception x)
        {
            results.Exception = x.Message;
        }

        Approver.Verify(results);
    }