Sha256: 29e07fd28d27050c56a0e3b47ed72ad72c74d2eb5ac9936277fdb1a81b898fae

Contents?: true

Size: 1.17 KB

Versions: 78

Compression:

Stored size: 1.17 KB

Contents

using System;
using System.Collections.Generic;

namespace Generators.Methods
{
    public class ExceptionTestMethodGenerator : TestMethodGenerator
    {
        protected override string Body 
        {
            get
            {
                switch (TestMethodData.Options.TestedMethodType)
                {
                    case TestedMethodType.Static:
                        return $"Assert.Throws<{ExceptionType}>(() => {TestedClassName}.{TestedMethod}({Input}));";
                    case TestedMethodType.Instance:
                        return $"var sut = new {TestedClassName}();\n    Assert.Throws<{ExceptionType}>(() => sut.{TestedMethod}({Input}));;";
                    case TestedMethodType.Extension:
                        return $"Assert.Throws<{ExceptionType}>(() => {Input}.{TestedMethod}());";
                    default:
                        throw new ArgumentOutOfRangeException();
                }
            }
        }

        protected override ISet<string> UsingNamespaces => new HashSet<string> { TestMethodData.Options.ExceptionType.Namespace };

        protected virtual string ExceptionType => TestMethodData.Options.ExceptionType.Name;
    }
}

Version data entries

78 entries across 78 versions & 1 rubygems

Version Path
trackler-2.1.0.7 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.1.0.6 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.1.0.5 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.1.0.4 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.1.0.3 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.1.0.2 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.1.0.1 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.1.0.0 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.0.8.55 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.0.8.54 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.0.8.53 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.0.8.52 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.0.8.51 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.0.8.50 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.0.8.49 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.0.8.48 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.0.8.47 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.0.8.46 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.0.8.45 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs
trackler-2.0.8.44 tracks/csharp/generators/Methods/ExceptionTestMethodGenerator.cs