public void TryRemove_WhenTableNotConfigured_ReturnsFalse() { var database = new LazyDatabase(); var result = database.TryRemove <int, Person>(1); Assert.IsFalse(result); }
public void Clear_WhenNothingCachedOrConfigured_DoesNothing() { var database = new LazyDatabase(); database.Clear(); Assert.AreEqual(0, database.TotalTablesCount); }
public void TryAddOrUpdate_WhenTableNotConfigured_ReturnsFalse() { var database = new LazyDatabase(); var result = database.TryAddOrUpdate(1, new Person()); Assert.IsFalse(result); }
public void TryGet_WithNoTableConfigured_ReturnsFalse() { var database = new LazyDatabase(); var result = database.TryGet <int, Person>(1, out var person); Assert.IsFalse(result); Assert.IsNull(person); }
public void LazyAddingTable_WhenThereAreNoTables_SetsTableCountToOne() { var database = new LazyDatabase(); var people = new PersonRepository(); database.Get(1, people.GetSingle); Assert.AreEqual(1, database.TotalTablesCount); }
public void GetFromDatabase_WhenLifetimeHasNotExpired_DoesNotReload() { var database = new LazyDatabase(TimeSpan.FromHours(100)); var people = new PersonRepository(); database.Get(1, people.GetSingle); database.TryGet(1, out Person p); database.TryGet(1, out p); Assert.AreEqual(1, people.TimesLoaded); }
public void GetFromDatabase_WhenLifetimeIsOverridenAndHasExpired_Reloads() { var database = new LazyDatabase(); var people = new PersonRepository(); database.TryAddTable <int, Person>(people.GetSingle, TimeSpan.Zero); database.TryGet(1, out Person p); database.TryGet(1, out p); database.Get(1, people.GetSingle); Assert.AreEqual(3, people.TimesLoaded); }
public static LazyDatabase Database(bool includePeople = false, bool includeRoles = false) { var database = new LazyDatabase(); if (includePeople) { var people = new PersonRepository(); database.TryAddTable <int, Person>(people.GetSingle); } if (includeRoles) { var roles = new RoleRepository(); database.TryAddTable <int, Role>(roles.GetSingle); } return(database); }
public void Add_WithNullGet_ThrowsArgumentNull() { var database = new LazyDatabase(); Assert.Throws <ArgumentNullException>(() => database.AddOrUpdate <int, object>(1, null, null)); }
public void AddTable_WithNullGet_ThrowsArgumentNull() { var database = new LazyDatabase(); Assert.Throws <ArgumentNullException>(() => database.TryAddTable <int, object>(null)); }
public void AddingTable_WithNullLoader_ThrowsArgumentNullException() { var database = new LazyDatabase(); Assert.Throws <ArgumentNullException>(() => database.TryAddTable <int, Person>(null)); }