I have an aspect sorting list.
public override void OnInvoke(MethodInterceptionArgs args)
{
args.Proceed();
var string_list = (args.ReturnValue as List<string>);
string_list.Sort();
Console.WriteLine("Postsharp Aspect içerisinde sıralanan koleksiyon: ");
foreach (var item in string_list)
{
Console.WriteLine(item);
}
}
I have a method returning list.
[PostSharpExecuteAfterMethod]
public virtual List<string> Liste_Döndür()
{
List<string> liste = new List<string>();
liste.Add("g");
liste.Add("b");
liste.Add("hjh");
liste.Add("a");
Console.WriteLine("Method'dan dönen string liste: ");
foreach (var item in liste)
{
Console.WriteLine(item);
}
return liste;
}
This is my test method.
public class SomeClass
{
[PostSharpExecuteAfterMethod]
public virtual List<string> GimmeSomeData()
{
throw new NotImplementedException();
}
}
[TestClass]
public class UnitTest1
{
[TestMethod]
//[PostSharpExecuteAfterMethod]
public void TestMethod1()
{
var mock = new Mock<SomeClass>();
mock.Setup(m => m.GimmeSomeData()).Returns(() => new List<string> { "1", "2", "3" });
//liste
var resultList = mock.Object.GimmeSomeData();
}
}
So, I want to call my aspect in my test method with using Moq. Whenever i try to create a mocked class or something. It didn't work. How can I do that?