copy ctor, assign op and tests