public void RemoveMultiple_Test()
        {
            var optionsBuilder = new DbContextOptionsBuilder <DatabaseContext>();

            optionsBuilder.UseSqlite($"Data Source={Path.GetTempFileName()}");
            var lib = new GameRecordLibrary(optionsBuilder);

            var record  = lib.CreateRecord("TEST_PLATFORM");
            var record2 = lib.CreateRecord("TEST_PLATFORM");

            Assert.NotEmpty(lib.GetAllRecords());
            lib.DeleteRecord(record);
            lib.DeleteRecord(record2);
            Assert.Empty(lib.GetAllRecords());
        }
        public void SetMultiple_Test()
        {
            var optionsBuilder = new DbContextOptionsBuilder <DatabaseContext>();

            optionsBuilder.UseSqlite($"Data Source={Path.GetTempFileName()}");
            var lib     = new GameRecordLibrary(optionsBuilder);
            var record  = lib.CreateRecord("NINTENDO_NES");
            var record2 = lib.CreateRecord("NINTENDO_NES");

            record.Title  = "Test Game";
            record2.Title = "Test Game 2";

            lib.UpdateRecord(record);
            lib.UpdateRecord(record2);
        }
        public void SetWithMetadata_Test()
        {
            var optionsBuilder = new DbContextOptionsBuilder <DatabaseContext>();

            optionsBuilder.UseSqlite($"Data Source={Path.GetTempFileName()}");

            var lib    = new GameRecordLibrary(optionsBuilder);
            var record = lib.CreateRecord("NINTENDO_NES");
            var guid   = record.RecordID;

            record.Metadata.Add("is_test", "true");
            lib.UpdateRecord(record);
            var newRecord = lib.GetAllRecords().First();

            Assert.Equal(guid, newRecord.RecordID);
            Assert.Equal(record.PlatformID, newRecord.PlatformID);
            Assert.Contains("is_test", newRecord.Metadata.Keys);
            Assert.Equal("true", newRecord.Metadata["is_test"]);

            newRecord.Metadata.Add("is_test_two", "true");
            lib.UpdateRecord(newRecord);

            var newNewRecord = lib.GetAllRecords().First();

            Assert.Equal(guid, newNewRecord.RecordID);
            Assert.Equal(record.PlatformID, newNewRecord.PlatformID);
            Assert.Contains("is_test", newNewRecord.Metadata.Keys);
            Assert.Equal("true", newNewRecord.Metadata["is_test"]);
            Assert.Contains("is_test_two", newNewRecord.Metadata.Keys);
            Assert.Equal("true", newNewRecord.Metadata["is_test_two"]);
        }
Esempio n. 4
0
        public void SetWithMetadata_Test()
        {
            var optionsBuilder = new DbContextOptionsBuilder <DatabaseContext>();

            optionsBuilder.UseSqlite($"Data Source={Path.GetTempFileName()}")
            .ConfigureWarnings(warnings => warnings.Throw(RelationalEventId.QueryClientEvaluationWarning));

            var lib    = new GameRecordLibrary(optionsBuilder);
            var record = lib.CreateRecord("NINTENDO_NES");
            var guid   = record.RecordId;

            record.Metadata.Add("is_test", "true");
            lib.UpdateRecord(record);
            var newRecord = lib.GetAllRecords().First();

            Assert.Equal(guid, newRecord.RecordId);
            Assert.Equal(record.PlatformId, newRecord.PlatformId);
            Assert.Contains("is_test", newRecord.Metadata.Keys);
            Assert.Equal("true", newRecord.Metadata["is_test"]);

            newRecord.Metadata.Add("is_test_two", "true");
            lib.UpdateRecord(newRecord);

            var newNewRecord = lib.GetAllRecords().First();

            Assert.Equal(guid, newNewRecord.RecordId);
            Assert.Equal(record.PlatformId, newNewRecord.PlatformId);
            Assert.Contains("is_test", newNewRecord.Metadata.Keys);
            Assert.Equal("true", newNewRecord.Metadata["is_test"]);
            Assert.Contains("is_test_two", newNewRecord.Metadata.Keys);
            Assert.Equal("true", newNewRecord.Metadata["is_test_two"]);
        }
        public async Task QueryGamesByPlatformsAsync_Test()
        {
            var optionsBuilder = new DbContextOptionsBuilder <DatabaseContext>();

            optionsBuilder.UseSqlite($"Data Source={Path.GetTempFileName()}");
            var lib = new GameRecordLibrary(optionsBuilder);

            var record = lib.CreateRecord("TEST_PLATFORM");

            Assert.False(await lib.QueryRecordsAsync(r => r.PlatformID == "TEST_PLATFORM").IsEmptyAsync());
        }
        public void QueryGameByPlatforms_Test()
        {
            var optionsBuilder = new DbContextOptionsBuilder <DatabaseContext>();

            optionsBuilder.UseSqlite($"Data Source={Path.GetTempFileName()}");
            var lib = new GameRecordLibrary(optionsBuilder);

            var record = lib.CreateRecord("TEST_PLATFORM");

            Assert.NotEmpty(lib.QueryRecords(r => r.PlatformID == "TEST_PLATFORM"));
        }
        public void GetGameByGuid_Test()
        {
            var optionsBuilder = new DbContextOptionsBuilder <DatabaseContext>();

            optionsBuilder.UseSqlite($"Data Source={Path.GetTempFileName()}");
            var lib = new GameRecordLibrary(optionsBuilder);

            var record = lib.CreateRecord("TEST_PLATFORM");

            Assert.NotNull(lib.GetRecord(record.RecordID));
        }
        public void Set_Test()
        {
            var optionsBuilder = new DbContextOptionsBuilder <DatabaseContext>();

            optionsBuilder.UseSqlite($"Data Source={Path.GetTempFileName()}");
            var lib       = new GameRecordLibrary(optionsBuilder);
            var record    = lib.CreateRecord("NINTENDO_NES");
            var guid      = record.RecordID;
            var newRecord = lib.GetAllRecords().First();

            Assert.Equal(guid, newRecord.RecordID);
            Assert.Equal(record.PlatformID, newRecord.PlatformID);
        }
        public async Task QueryGamesByTitleAsync_Test()
        {
            var optionsBuilder = new DbContextOptionsBuilder <DatabaseContext>();

            optionsBuilder.UseSqlite($"Data Source={Path.GetTempFileName()}");
            var lib = new GameRecordLibrary(optionsBuilder);

            var record = lib.CreateRecord("TEST_PLATFORM");

            record.Title = "Test";
            lib.UpdateRecord(record);

            Assert.False(await lib.QueryRecordsAsync(g => g.Metadata.First(m => m.MetadataKey == GameMetadataKeys.Title).MetadataValue == "Test").IsEmptyAsync());
        }
        public void GetGamesByTitle_Test()
        {
            var optionsBuilder = new DbContextOptionsBuilder <DatabaseContext>();

            optionsBuilder.UseSqlite($"Data Source={Path.GetTempFileName()}");
            var lib = new GameRecordLibrary(optionsBuilder);

            var record = lib.CreateRecord("TEST_PLATFORM");

            record.Title = "Test";
            lib.UpdateRecord(record);

            Assert.NotEmpty(lib.GetRecords(g => g.Metadata[GameMetadataKeys.Title] == "Test"));
        }