public void TestThreeCalcClass() { var assert = new TypeAssert <ThreeCalc>(); assert.Class(); assert.Extends <TwoCalc>(); assert.Constructor( BindingFlags.Public | BindingFlags.Instance, new Param <int>("a"), new Param <int>("b"), new Param <int>("c") ); assert.NonField <int>( "_a", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance ); assert.NonField <int>( "_b", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance ); assert.Field <int>( "_c", BindingFlags.NonPublic | BindingFlags.Instance ).Private().ReadOnly(); assert.Method <int>( "Calculate", BindingFlags.Public | BindingFlags.Instance ).Override(); assert.Method <string>( "ToString", BindingFlags.Public | BindingFlags.Instance ).Override(); }
public void TestSum() { #if !DEBUG Assert.Multiple(() => { #endif var sum = new TypeAssert<Sum>(); sum.Class(); sum.Extends<Aggregator>(); sum.NonField<List<int>>("Numbers", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.GetField); sum.Constructor( BindingFlags.Public | BindingFlags.Instance, new Param<int[]>("numbers")); sum.Property<int>( "Value", BindingFlags.Public | BindingFlags.Instance | BindingFlags.GetProperty )?.Override(); sum.Method( "Append", BindingFlags.Public | BindingFlags.Instance, new Param<Aggregator>("aggregators") )?.Override(); #if !DEBUG }); #endif }
public void TestThreeCalc() { #if !DEBUG Assert.Multiple(() => { #endif var assert = new TypeAssert<ThreeCalc>(); assert.Class(); assert.Extends<TwoCalc>(); assert.Implements<ICalc>(); assert.Constructor( BindingFlags.Public | BindingFlags.Instance, new Param<int>("a"), new Param<int>("b"), new Param<int>("c") ); assert.NonField<int>( "_a", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance ); assert.NonField<int>( "_b", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance ); assert.Field<int>( "_c", BindingFlags.NonPublic | BindingFlags.Instance ).Private().ReadOnly(); assert.Method<int>( "Calculate", BindingFlags.Public | BindingFlags.Instance ).Override(); assert.Method<string>( "ToString", BindingFlags.Public | BindingFlags.Instance ).Override(); dynamic calc; calc = assert.New(1, 2, 3); Assert.AreEqual(14, calc.Calculate()); Assert.AreEqual("1, 2, 3", calc.ToString()); calc = assert.New(1, 3, 5); Assert.AreEqual(22, calc.Calculate()); Assert.AreEqual("1, 3, 5", calc.ToString()); calc = assert.New(-10, 4, -100); Assert.AreEqual(-302, calc.Calculate()); Assert.AreEqual("-10, 4, -100", calc.ToString()); #if !DEBUG }); #endif }