When mocking methods, add the less specific argument matching first.

foo.Setup(f => f.Bar(It.IsAny<string>())).Returns(3); // Less specific first.
foo.Setup(f => f.Bar(It.Is<string>(x => x == "aaa"))).Returns(1);
foo.Setup(f => f.Bar(It.Is<string>(x => x == "bbb"))).Returns(2);