1 module dmocks.call; 2 3 public import dmocks.model; 4 public import dmocks.dynamic; 5 6 import dmocks.arguments; 7 import dmocks.qualifiers; 8 9 import std.array; 10 11 /++ 12 + This class represents a single method call on a mock object while in replay phase 13 + All information about the call is stored here 14 +/ 15 class Call 16 { 17 MockId object; 18 string name; 19 string[] qualifiers; 20 Dynamic[] arguments; 21 22 override string toString() 23 { 24 string arguments = (arguments is null) ? "(<unknown>)" : arguments.formatArguments; 25 return name ~ " "~ arguments ~ " " ~ qualifiers.join(" "); 26 } 27 } 28 29 Call createCall(alias METHOD, ARGS...)(MockId object, string name, ARGS args) 30 { 31 auto ret = new Call; 32 ret.object = object; 33 ret.name = name; 34 ret.qualifiers = qualifiers!METHOD; 35 ret.arguments = arguments(args); 36 return ret; 37 }