public void NullObject_ReturnsFirstLock() { var hl = new HashLock(10); var firstLock = hl.GetLock(0); var nullLock = hl.GetLock(null); Assert.AreSame(firstLock, nullLock); Assert.AreEqual(0, 0.GetHashCode()); }
public LocalRepository(IDataStore dataStore, ITextConverter textComparer) { this.dataStore = dataStore; this.textComparer = textComparer; var futureTimeStamp = System.DateTime.Now.AddMilliseconds(100).Ticks; keyProvider = new DocumentKeySource(futureTimeStamp); hashLock = new HashLock(avaliableLocks: 2000); }
public void LockObject_CannotBeModified() { var hl = new HashLock(1); var lock1 = hl.GetLock(""); var lock2 = hl.GetLock(""); Assert.AreSame(lock1, lock2); lock1 = 5; Assert.AreNotSame(lock1, lock2); Assert.AreSame(lock2, hl.GetLock("")); }
public void CreatedLocks_AreShared() { // arrange var hl = new HashLock(2); // act var lock1 = hl.GetLock(1); var lock2 = hl.GetLock(2); var lock3 = hl.GetLock(3); var lock4 = hl.GetLock(4); // assert Assert.AreSame(lock1, lock3); Assert.AreSame(lock2, lock4); Assert.AreNotSame(lock1, lock2); Assert.AreNotSame(lock3, lock4); Enumerable.Range(1,4) .ToList() .ForEach(i => Assert.AreEqual(i, i.GetHashCode())); }
public void LockCount_CannotBeLessThanOne() { var hl = new HashLock(0); }