Beispiel #1
0
        public void TryRemove_WhenTableNotConfigured_ReturnsFalse()
        {
            var database = new LazyDatabase();

            var result = database.TryRemove <int, Person>(1);

            Assert.IsFalse(result);
        }
Beispiel #2
0
        public void Clear_WhenNothingCachedOrConfigured_DoesNothing()
        {
            var database = new LazyDatabase();

            database.Clear();

            Assert.AreEqual(0, database.TotalTablesCount);
        }
Beispiel #3
0
        public void TryAddOrUpdate_WhenTableNotConfigured_ReturnsFalse()
        {
            var database = new LazyDatabase();

            var result = database.TryAddOrUpdate(1, new Person());

            Assert.IsFalse(result);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        public void LazyAddingTable_WhenThereAreNoTables_SetsTableCountToOne()
        {
            var database = new LazyDatabase();
            var people   = new PersonRepository();

            database.Get(1, people.GetSingle);

            Assert.AreEqual(1, database.TotalTablesCount);
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        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);
        }
Beispiel #9
0
        public void Add_WithNullGet_ThrowsArgumentNull()
        {
            var database = new LazyDatabase();

            Assert.Throws <ArgumentNullException>(() => database.AddOrUpdate <int, object>(1, null, null));
        }
Beispiel #10
0
        public void AddTable_WithNullGet_ThrowsArgumentNull()
        {
            var database = new LazyDatabase();

            Assert.Throws <ArgumentNullException>(() => database.TryAddTable <int, object>(null));
        }
Beispiel #11
0
        public void AddingTable_WithNullLoader_ThrowsArgumentNullException()
        {
            var database = new LazyDatabase();

            Assert.Throws <ArgumentNullException>(() => database.TryAddTable <int, Person>(null));
        }