module dmocks.call; import dmocks.arguments; public import dmocks.dynamic; public import dmocks.model; import dmocks.qualifiers; import std.array; /++ + This class represents a single method call on a mock object while in replay phase + All information about the call is stored here +/ class Call { MockId object; string name; string[] qualifiers; Dynamic[] arguments; override string toString() { string arguments = (arguments is null) ? "(<unknown>)" : arguments.formatArguments; return name ~ " "~ arguments ~ " " ~ qualifiers.join(" "); } } Call createCall(alias METHOD, ARGS...)(MockId object, string name, ARGS args) { auto ret = new Call; ret.object = object; ret.name = name; ret.qualifiers = qualifiers!METHOD; ret.arguments = arguments(args); return ret; }