Added some tests which would fail with a simple volatile, but should work for the atomic implementations.