public async Task SerializeDeserialize_WhenEmptyDatabaseRoundTripped_ExportsAndParsesWithoutError() { var db = new EmptyRelationalDatabase(new IdentifierDefaults(null, null, "main")); var json = await Serializer.SerializeAsync(db).ConfigureAwait(false); var importedDb = await Serializer.DeserializeAsync(json).ConfigureAwait(false); db.Should().BeEquivalentTo(importedDb); }
public async Task Generate_GivenDatabaseWithoutTablesOrViews_BuildsProjectSuccessfully() { using var tempDir = new TemporaryDirectory(); var projectPath = Path.Combine(tempDir.DirectoryPath, TestCsprojFilename); var database = new EmptyRelationalDatabase(Database.IdentifierDefaults); var fileSystem = new FileSystem(); var commentProvider = new EmptyRelationalDatabaseCommentProvider(); var nameTranslator = new PascalCaseNameTranslator(); var generator = new PocoDataAccessGenerator(fileSystem, database, commentProvider, nameTranslator); await generator.GenerateAsync(projectPath, TestNamespace).ConfigureAwait(false); var buildsSuccessfully = await ProjectBuildsSuccessfullyAsync(projectPath).ConfigureAwait(false); Assert.That(buildsSuccessfully, Is.True); }
public async Task SerializeDeserialize_WhenEmptyDatabaseRoundTripped_PreservesJsonStructure() { var db = new EmptyRelationalDatabase(new IdentifierDefaults(null, null, "main")); var json = await Serializer.SerializeAsync(db).ConfigureAwait(false); var importedDb = await Serializer.DeserializeAsync(json).ConfigureAwait(false); var reExportedJson = await Serializer.SerializeAsync(importedDb).ConfigureAwait(false); Assert.Multiple(() => { Assert.That(reExportedJson, Is.Not.Null); Assert.That(reExportedJson, Is.Not.Empty); Assert.That(reExportedJson, Is.EqualTo(json)); }); }