Vljay,
Writing the rules will follow the same kind of pattern you used in your example, but remember that now you have a List. What does this influence? That Drools will match your objects if they are equals (and list.equals(list) is not a trivial thing to match).
If I would give you any advice right now is: avoid using a List as a session object, but I really don't know your business requirements as you didn't talk about them at all so far.
Anyway, to write a rule that matches a property a list inside another object, you can use contains/memberof or a condition like the one exposed on
this SO question:
rule "some rule name"
when
$a: A($bset : bset)
$b: B(x == "hello") from $bset
then
//you will have one activation for each of the B objects matching //the second pattern end
In this example I understand that A would be your test class and bset/B your list type.
Filipe