Skip to content

Commit c766c07

Browse files
committed
More tests.
1 parent 306188e commit c766c07

1 file changed

Lines changed: 51 additions & 0 deletions

File tree

  • IDisposableAnalyzers.Test/IDISP003DisposeBeforeReassigningTests

IDisposableAnalyzers.Test/IDISP003DisposeBeforeReassigningTests/Valid.cs

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1539,5 +1539,56 @@ public void Dispose()
15391539

15401540
RoslynAssert.Valid(Analyzer, DisposableCode, code);
15411541
}
1542+
1543+
[Test]
1544+
public static void TwoChainedBaseConstructors()
1545+
{
1546+
var baseClass = @"
1547+
namespace N
1548+
{
1549+
public abstract class BaseClass
1550+
{
1551+
protected BaseClass()
1552+
{
1553+
}
1554+
}
1555+
}";
1556+
var code = @"
1557+
namespace N
1558+
{
1559+
using System;
1560+
1561+
public sealed class C : BaseClass, IDisposable
1562+
{
1563+
private readonly IDisposable disposable;
1564+
private bool disposed;
1565+
1566+
public C(int _)
1567+
: base()
1568+
{
1569+
this.disposable = new Disposable();
1570+
}
1571+
1572+
public C(string _)
1573+
: base()
1574+
{
1575+
this.disposable = new Disposable();
1576+
}
1577+
1578+
public void Dispose()
1579+
{
1580+
if (this.disposed)
1581+
{
1582+
return;
1583+
}
1584+
1585+
this.disposed = true;
1586+
this.disposable?.Dispose();
1587+
}
1588+
}
1589+
}";
1590+
1591+
RoslynAssert.Valid(Analyzer, DisposableCode, baseClass, code);
1592+
}
15421593
}
15431594
}

0 commit comments

Comments
 (0)