public void GetTypeMethodsByInterface() { // Arrange var repository = new WeightedTypeRepository(); repository.AddMethod(new Func<int>(() => { return 5; })); // Act var methods = new List<MethodInfo>(repository.GetMethods(typeof(IComparable<int>))); // Assert Assert.AreEqual(1, methods.Count); }
public void GetTypeMethodsByBaseType() { // Arrange var repository = new WeightedTypeRepository(); repository.AddMethod(new Func<WebClient>(() => { return new WebClient(); })); // Act var methods = new List<MethodInfo>(repository.GetMethods(typeof(Component))); // Assert Assert.AreEqual(1, methods.Count); }
public void OrderMethodsByWeightProbability() { // Arrange var repository = new WeightedTypeRepository(); // Act repository.AddMethod(new Func<int>(MockType.Method1), 0.00001); repository.AddMethod(new Func<int>(MockType.Method2), 100000000); var methods = new List<MethodInfo>(repository.GetMethods(typeof(int))); // Assert Assert.AreEqual(2, methods.Count); Assert.AreEqual("Method2", methods[0].Name); Assert.AreEqual("Method1", methods[1].Name); }