Commit 19ed887b authored by Savorboard's avatar Savorboard

add unit tests for ConsumerServiceSelector

parent d3811957
......@@ -28,7 +28,7 @@ namespace DotNetCore.CAP.Test
var selector = _provider.GetRequiredService<IConsumerServiceSelector>();
var candidates = selector.SelectCandidates();
Assert.Equal(2, candidates.Count);
Assert.Equal(6, candidates.Count);
}
[Fact]
......@@ -42,6 +42,66 @@ namespace DotNetCore.CAP.Test
Assert.NotNull(bestCandidates.MethodInfo);
Assert.Equal(typeof(Task), bestCandidates.MethodInfo.ReturnType);
}
[Theory]
[InlineData("Candidates.Asterisk")]
[InlineData("candidates.Asterisk")]
[InlineData("AAA.BBB.Asterisk")]
[InlineData("aaa.bbb.Asterisk")]
public void CanFindAsteriskTopic(string topic)
{
var selector = _provider.GetRequiredService<IConsumerServiceSelector>();
var candidates = selector.SelectCandidates();
var bestCandidates = selector.SelectBestCandidate(topic, candidates);
Assert.NotNull(bestCandidates);
}
[Theory]
[InlineData("Candidates.Asterisk.AAA")]
[InlineData("AAA.BBB.CCC.Asterisk")]
[InlineData("aaa.BBB.ccc.Asterisk")]
[InlineData("Asterisk.aaa.bbb")]
public void CanNotFindAsteriskTopic(string topic)
{
var selector = _provider.GetRequiredService<IConsumerServiceSelector>();
var candidates = selector.SelectCandidates();
var bestCandidates = selector.SelectBestCandidate(topic, candidates);
Assert.Null(bestCandidates);
}
[Theory]
[InlineData("Candidates.Pound.AAA")]
[InlineData("Candidates.Pound.AAA.BBB")]
[InlineData("AAA.Pound")]
[InlineData("aaa.Pound")]
[InlineData("aaa.bbb.Pound")]
[InlineData("aaa.BBB.Pound")]
public void CanFindPoundTopic(string topic)
{
var selector = _provider.GetRequiredService<IConsumerServiceSelector>();
var candidates = selector.SelectCandidates();
var bestCandidates = selector.SelectBestCandidate(topic, candidates);
Assert.NotNull(bestCandidates);
}
[Theory]
[InlineData("Pound")]
[InlineData("aaa.Pound.AAA.BBB")]
[InlineData("Pound.AAA")]
[InlineData("Pound.aaa")]
[InlineData("AAA.Pound.aaa")]
public void CanNotFindPoundTopic(string topic)
{
var selector = _provider.GetRequiredService<IConsumerServiceSelector>();
var candidates = selector.SelectCandidates();
var bestCandidates = selector.SelectBestCandidate(topic, candidates);
Assert.Null(bestCandidates);
}
}
public class CandidatesTopic : TopicAttribute
......@@ -73,6 +133,21 @@ namespace DotNetCore.CAP.Test
{
Console.WriteLine("GetFoo2() method has bee excuted.");
}
[CandidatesTopic("*.*.Asterisk")]
[CandidatesTopic("*.Asterisk")]
public void GetFooAsterisk()
{
Console.WriteLine("GetFoo2Asterisk() method has bee excuted.");
}
[CandidatesTopic("Candidates.Pound.#")]
[CandidatesTopic("#.Pound")]
public void GetFooPound()
{
Console.WriteLine("GetFoo2Pound() method has bee excuted.");
}
}
public class CandidatesBarTest : IBarTest
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment