From the way the test is written (create, change, assert, create, change, assert, change, assert,  ...) it is not clear why the vectors should be equal here. It seems to me that one could test a copy constructor in a very short, very simple test: create one bitvector, fill it pseudo-randomly, create a copy, assert their equality.