using System; using System.Collections.Generic; using System.Text; using Xunit; using Study.DelegateSeries.Core; using Study.DelegateSeries.Core.Calculator; namespace Study.DelegateSeries.Test { public class StudyDelegateTest : IDisposable, IClassFixture { #region 准备 private InstanceDelegate studyDelegate; public StudyDelegateTest(InstanceDelegate _studyDelegate) { this.studyDelegate = _studyDelegate; } #endregion #region 实例化委托测试 [Fact] public void BaseInstanceTest() { var baseInstance = this.studyDelegate.BaseInstance(); Assert.NotNull(baseInstance); Assert.True(baseInstance.Method.IsPublic); } [Fact] public void AutoTypeInstanceTest() { var baseInstance = this.studyDelegate.AutoTypeInstance(); Assert.NotNull(baseInstance); Assert.Equal("Difference", baseInstance.Method.Name); } [Fact] public void AnonymousInstanceTest() { var baseInstance = this.studyDelegate.AnonymousInstance(); Assert.NotNull(baseInstance); Assert.False(baseInstance.Method.IsSpecialName); } [Fact] public void LambdaInstanceTest() { var baseInstance = this.studyDelegate.LambdaInstance(); Assert.NotNull(baseInstance); Assert.False(baseInstance.Method.IsSpecialName); } #endregion #region 清理 void IDisposable.Dispose() { } #endregion } }