public void RandomWrapper_aspect_Test() { // make sure wrappers don't wrap themselves var r1 = new Random(); var rasp1 = r1.Aspect(); var r2 = (Random)rasp1; var rasp2 = r2.Aspect(); // this should be wrapping an Aspect with another Aspect- This should not result in 2 wrappers. Assert.AreEqual(rasp1, rasp2); }
public void RandomWrapper_both_Test() { var r = new Random(); var rth = r.Threadsafe(); var rasp = r.Aspect(); Assert.AreNotEqual(rth, rasp); var rasp2 = rth.Aspect(); // Threadsafe is already an Aspect, so this should return itself Assert.AreEqual(rasp2, rth); var rth2 = rasp.Threadsafe(); // Not the other way around in this case Assert.AreNotEqual(rth2, rasp); // now rth2 is a Threadsafe wrapping an Aspect wrapping Random. var rasp3 = rth2.Aspect(); Assert.AreEqual(rasp3, rth2); }