public void SetUp() { this.testObjectWithInterface = new ParameterInfoCollection(); var methodInfo = typeof(ParameterInfoCollectionTest).GetMethod("InfoMethodWithInterface"); var parameters = methodInfo.GetParameters(); this.parameterInfoMethodWithInterfaces = parameters.ToArray(); foreach (var parameter in parameters) { testObjectWithInterface.AddParameterInfo(parameter); } this.testObject = new ParameterInfoCollection(); methodInfo = typeof(ParameterInfoCollectionTest).GetMethod("InfoMethod"); parameters = methodInfo.GetParameters(); this.parameterInfoMethod = parameters.ToArray(); foreach (var parameter in parameters) { testObject.AddParameterInfo(parameter); } }
public void AddParameterInfoTest() { Assert.IsFalse(testObject.HasInterfaces); Assert.Count(4, testObject); var methodInfo = typeof(ParameterInfoCollectionTest).GetMethod("InfoMethodWithInterface"); var parameters = methodInfo.GetParameters(); foreach (var parameter in parameters) { testObject.AddParameterInfo(parameter); } Assert.IsTrue(testObject.HasInterfaces); Assert.Count(8, testObject); var expected = parameterInfoMethod.Concat(parameters); var actual = testObject.StandardTypes; Assert.AreElementsEqual(expected.Where(e => !e.ParameterType.IsInterface), actual); actual = testObject; Assert.AreElementsEqual(expected, actual); }