diff --git a/Study.DelegateSeries.Core/DeclareDelegate.cs b/Study.DelegateSeries.Core/DeclareDelegate.cs new file mode 100644 index 0000000..2ab73d7 --- /dev/null +++ b/Study.DelegateSeries.Core/DeclareDelegate.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Study.DelegateSeries.Core +{ + + /// + /// 显示类型名 委托 + /// + /// 类型名 + public delegate string ShowTypeNameDelegate(); + + /// + /// 显示人名 委托 + /// + /// 人名 + public delegate string ShowPersonName(); + + /// + /// 计算器:计算委托 + /// + /// 参数A + /// 参数B + /// 计算结果 + public delegate decimal CalculatorDelegate(decimal numberA,decimal numberB); + + /// + /// 返回整形无参 委托 + /// + /// 整形数字 + public delegate int IntegerDelegate(); +} diff --git a/Study.DelegateSeries.Core/Demo.cs b/Study.DelegateSeries.Core/Demo.cs index 4f7bde7..42d18c0 100644 --- a/Study.DelegateSeries.Core/Demo.cs +++ b/Study.DelegateSeries.Core/Demo.cs @@ -4,27 +4,21 @@ using System.Text; namespace Study.DelegateSeries.Core { - public delegate int mydelegate(); + public class Demo { - - public int MyDemo(int b) + public int Square(int number) { - return b * b; + return number * number; } public int UseDelegate() { - mydelegate d = delegate () { return 5; }; + IntegerDelegate intDelegate = delegate () { return 5; }; - var total = MyDemo(d()); + var total = Square(intDelegate()); return total; } - - private void aa() - { - - } } } diff --git a/Study.DelegateSeries.Test/DemoTest.cs b/Study.DelegateSeries.Test/DemoTest.cs deleted file mode 100644 index a9f5165..0000000 --- a/Study.DelegateSeries.Test/DemoTest.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Xunit; - -using Study.DelegateSeries.Core; - -namespace Study.DelegateSeries.Test -{ - public class DemoTest - { - [Fact] - public void Test1() - { - var _demo = new Demo(); - var total = _demo.UseDelegate(); - - Assert.Equal(25, total); - } - } -} diff --git a/Study.DelegateSeries.Test/Study.DelegateSeries.Test.csproj b/Study.DelegateSeries.Test/Study.DelegateSeries.Test.csproj index 10f5e03..c5317ee 100644 --- a/Study.DelegateSeries.Test/Study.DelegateSeries.Test.csproj +++ b/Study.DelegateSeries.Test/Study.DelegateSeries.Test.csproj @@ -1,4 +1,4 @@ - + netcoreapp2.2 @@ -7,9 +7,16 @@ - - - + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/Study.DelegateSeries.Test/UseFixture/ClassFixtureDemo.cs b/Study.DelegateSeries.Test/UseFixture/ClassFixtureDemo.cs new file mode 100644 index 0000000..6cd4187 --- /dev/null +++ b/Study.DelegateSeries.Test/UseFixture/ClassFixtureDemo.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Study.DelegateSeries.Test.UseFixture +{ + /// + /// 类级别实例共享 例子类 + /// + public class ClassFixtureDemo : IDisposable + { + public string ShowSelf() + { + return this.GetType().Name; + } + + void IDisposable.Dispose() + { + + } + } +} diff --git a/Study.DelegateSeries.Test/UseFixture/GlobalFixtureDemo.cs b/Study.DelegateSeries.Test/UseFixture/GlobalFixtureDemo.cs new file mode 100644 index 0000000..e2f6111 --- /dev/null +++ b/Study.DelegateSeries.Test/UseFixture/GlobalFixtureDemo.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Study.DelegateSeries.Test.UseFixture +{ + /// + /// xUnit全局共享类 例子 + /// + public class GlobalFixtureDemo : IDisposable + { + public GlobalFixtureDemo() + { + + } + + public string ShowSelf() + { + return this.GetType().Name ; + } + + void IDisposable.Dispose() + { + + } + } +} diff --git a/Study.DelegateSeries.Test/UseFixture/GlobalFixtureSetup.cs b/Study.DelegateSeries.Test/UseFixture/GlobalFixtureSetup.cs new file mode 100644 index 0000000..e714c57 --- /dev/null +++ b/Study.DelegateSeries.Test/UseFixture/GlobalFixtureSetup.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Text; + +using Xunit; +using Xunit.Abstractions; + +using Study.DelegateSeries.Test.UseFixture; + +namespace Study.DelegateSeries.Test.xUnitSetup +{ + /// + /// 设置全局共享类 + /// + [CollectionDefinition("DemoCollection")] + public class GlobalFixtureSetup:ICollectionFixture + { + //这个类没有代码,而不需要创建。 + //其目的是简单地设置测试集共享数据 + //只要设置[CollectionDefinition("Demo Collection")]特性 + //并实现IClassFixture接口 + } +} diff --git a/Study.DelegateSeries.Test/UseFixture/UseClassFixtureDemo.cs b/Study.DelegateSeries.Test/UseFixture/UseClassFixtureDemo.cs new file mode 100644 index 0000000..20170bf --- /dev/null +++ b/Study.DelegateSeries.Test/UseFixture/UseClassFixtureDemo.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Text; +using Xunit; + +namespace Study.DelegateSeries.Test.UseFixture +{ + public class UseClassFixtureDemo : IDisposable,IClassFixture + { + public ClassFixtureDemo demo; + + public UseClassFixtureDemo(ClassFixtureDemo _demo) + { + this.demo = _demo; + } + + [Fact] + public void Test() + { + var shlfName = demo.ShowSelf(); + Assert.True(true); + } + + void IDisposable.Dispose() + { + + } + } +} diff --git a/Study.DelegateSeries.Test/UseFixture/UseFullFixtureDemo.cs b/Study.DelegateSeries.Test/UseFixture/UseFullFixtureDemo.cs new file mode 100644 index 0000000..f290798 --- /dev/null +++ b/Study.DelegateSeries.Test/UseFixture/UseFullFixtureDemo.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.Text; + +using Xunit; + +namespace Study.DelegateSeries.Test.UseFixture +{ + [Collection("DemoCollection")] + public class UseFullFixtureDemo:IDisposable,IClassFixture + { + GlobalFixtureDemo globalDemo; + ClassFixtureDemo classDemo; + + public UseFullFixtureDemo(GlobalFixtureDemo globalFixture, ClassFixtureDemo classFixture) + { + this.globalDemo = globalFixture; + this.classDemo = classFixture; + } + + [Fact] + public void UseXUnitTest() + { + Assert.True(true,"已使用xUnit单元测试框架"); + } + + [Fact] + public void GlobalFixtureTest() + { + Assert.NotNull(this.globalDemo); + + string selfName = globalDemo.GetType().Name; + Assert.Equal(selfName, globalDemo.ShowSelf()); + } + + [Fact] + public void ClassFixtureTest() + { + Assert.NotNull(this.classDemo); + + string selfName =classDemo.GetType().Name; + Assert.Equal(selfName, classDemo.ShowSelf()); + } + + /// + /// 清理:每测试 + /// + void IDisposable.Dispose() + { + + } + } +} diff --git a/Study.DelegateSeries.Test/UseFixture/UseGlobalFixtureDemo.cs b/Study.DelegateSeries.Test/UseFixture/UseGlobalFixtureDemo.cs new file mode 100644 index 0000000..02c0516 --- /dev/null +++ b/Study.DelegateSeries.Test/UseFixture/UseGlobalFixtureDemo.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Text; + +using Xunit; + +namespace Study.DelegateSeries.Test.UseFixture +{ + [Collection("DemoCollection")] + public class UseGlobalFixtureDemo + { + GlobalFixtureDemo fixtureDemo; + + public UseGlobalFixtureDemo(GlobalFixtureDemo fixture) + { + this.fixtureDemo = fixture; + } + + [Fact] + public void Test() + { + Assert.NotNull(this.fixtureDemo); + Assert.True(true); + } + } +}