Dreamine.FullKit.Tests 1.0.0.0
Dreamine.FullKit.Tests 기능을 검증하는 자동화 테스트 프로젝트입니다.
로딩중...
검색중...
일치하는것 없음
Dreamine.FullKit.Tests.Database.DatabaseProviderDialectTests 클래스 참조sealed

더 자세히 ...

클래스

class  DialectSample

Public 멤버 함수

void SqliteProvider_BuildsSqliteCreateTableSql ()
void MySqlProvider_BuildsMySqlCreateTableSql ()
void OracleProvider_BuildsOracleCreateTableSql ()
void SqlServerProvider_BuildsSqlServerCreateTableSql ()
void DatabaseEntityMap_CachesMapsPerEntityType ()
void DatabaseProviderBase_SqlCache_ReturnsSameStringReferenceOnSubsequentCalls ()

정적 Private 멤버 함수

static string BuildCreateTableSql (object provider)

상세한 설명

Database Provider Dialect Tests 기능과 관련 상태를 캡슐화합니다.

DatabaseProviderDialectTests.cs 파일의 19 번째 라인에서 정의되었습니다.

멤버 함수 문서화

◆ BuildCreateTableSql()

string Dreamine.FullKit.Tests.Database.DatabaseProviderDialectTests.BuildCreateTableSql ( object provider)
inlinestaticprivate

Create Table Sql 값을 구성합니다.

매개변수
providerprovider에 사용할 object 값입니다.
반환값
Build Create Table Sql 작업에서 생성한 string 결과입니다.
예외
InvalidOperationException현재 객체 상태에서 Build Create Table Sql 작업을 수행할 수 없는 경우 발생합니다.

DatabaseProviderDialectTests.cs 파일의 187 번째 라인에서 정의되었습니다.

188 {
189 var method = provider
190 .GetType()
191 .GetMethod("BuildCreateTableSql", BindingFlags.Instance | BindingFlags.NonPublic)
192 ?? throw new InvalidOperationException("BuildCreateTableSql was not found.");
193
194 var map = DatabaseEntityMap.Create<DialectSample>();
195 return (string)method.Invoke(provider, [map])!;
196 }

다음에 의해서 참조됨 : MySqlProvider_BuildsMySqlCreateTableSql(), OracleProvider_BuildsOracleCreateTableSql(), SqliteProvider_BuildsSqliteCreateTableSql(), SqlServerProvider_BuildsSqlServerCreateTableSql().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ DatabaseEntityMap_CachesMapsPerEntityType()

void Dreamine.FullKit.Tests.Database.DatabaseProviderDialectTests.DatabaseEntityMap_CachesMapsPerEntityType ( )
inline

Database Entity Map Caches Maps Per Entity Type 작업을 수행합니다.

DatabaseProviderDialectTests.cs 파일의 103 번째 라인에서 정의되었습니다.

104 {
105 var first = DatabaseEntityMap.Create<DialectSample>();
106 var second = DatabaseEntityMap.Create<DialectSample>();
107
108 Assert.Same(first, second);
109 Assert.Same(first.InsertableProperties, second.InsertableProperties);
110 Assert.Same(first.UpdatableProperties, second.UpdatableProperties);
111 }

◆ DatabaseProviderBase_SqlCache_ReturnsSameStringReferenceOnSubsequentCalls()

void Dreamine.FullKit.Tests.Database.DatabaseProviderDialectTests.DatabaseProviderBase_SqlCache_ReturnsSameStringReferenceOnSubsequentCalls ( )
inline

Database Provider Base Sql Cache Returns Same String Reference On Subsequent Calls 작업을 수행합니다.

예외
InvalidOperationException현재 객체 상태에서 Database Provider Base Sql Cache Returns Same String Reference On Subsequent Calls 작업을 수행할 수 없는 경우 발생합니다.

DatabaseProviderDialectTests.cs 파일의 130 번째 라인에서 정의되었습니다.

131 {
132 // GetOrBuildSql<T> caches INSERT/UPDATE/DELETE SQL strings per (entity type, provider kind).
133 // Calling the method twice must return the same string reference — no redundant rebuild.
134 var provider = new SqliteDatabaseProvider("Data Source=:memory:");
135
136 // GetOrBuildSql is declared on the abstract base class — search the hierarchy.
137 var baseType = provider.GetType().BaseType
138 ?? throw new InvalidOperationException("DatabaseProviderBase not found.");
139 var getOrBuildSql = baseType
140 .GetMethod("GetOrBuildSql", BindingFlags.Instance | BindingFlags.NonPublic)
141 ?.MakeGenericMethod(typeof(DialectSample))
142 ?? throw new InvalidOperationException("GetOrBuildSql<T> not found via reflection.");
143
144 // SqlKind is a private nested enum on the abstract base class.
145 var sqlKindType = baseType.GetNestedType("SqlKind", BindingFlags.NonPublic)
146 ?? throw new InvalidOperationException("SqlKind enum not found on base type.");
147 var insertKind = Enum.ToObject(sqlKindType, 0); // 0 = Insert
148
149 var first = (string)getOrBuildSql.Invoke(provider, [insertKind])!;
150 var second = (string)getOrBuildSql.Invoke(provider, [insertKind])!;
151
152 Assert.Same(first, second);
153 }

◆ MySqlProvider_BuildsMySqlCreateTableSql()

void Dreamine.FullKit.Tests.Database.DatabaseProviderDialectTests.MySqlProvider_BuildsMySqlCreateTableSql ( )
inline

My Sql Provider Builds My Sql Create Table Sql 작업을 수행합니다.

DatabaseProviderDialectTests.cs 파일의 48 번째 라인에서 정의되었습니다.

49 {
50 var sql = BuildCreateTableSql(new MySqlDatabaseProvider("Server=localhost;Database=dreamine;User Id=user;Password=password;"));
51
52 Assert.Contains("`DialectSamples`", sql);
53 Assert.Contains("`Id` INT AUTO_INCREMENT PRIMARY KEY", sql);
54 Assert.Contains("`Name` TEXT", sql);
55 }

다음을 참조함 : BuildCreateTableSql().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ OracleProvider_BuildsOracleCreateTableSql()

void Dreamine.FullKit.Tests.Database.DatabaseProviderDialectTests.OracleProvider_BuildsOracleCreateTableSql ( )
inline

Oracle Provider Builds Oracle Create Table Sql 작업을 수행합니다.

DatabaseProviderDialectTests.cs 파일의 66 번째 라인에서 정의되었습니다.

67 {
68 var sql = BuildCreateTableSql(new OracleDatabaseProvider("User Id=user;Password=password;Data Source=localhost/XEPDB1;"));
69
70 Assert.Contains("\"DIALECTSAMPLES\"", sql);
71 Assert.Contains("\"ID\" NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY", sql);
72 Assert.Contains("\"NAME\" NVARCHAR2(2000)", sql);
73 }

다음을 참조함 : BuildCreateTableSql().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ SqliteProvider_BuildsSqliteCreateTableSql()

void Dreamine.FullKit.Tests.Database.DatabaseProviderDialectTests.SqliteProvider_BuildsSqliteCreateTableSql ( )
inline

Sqlite Provider Builds Sqlite Create Table Sql 작업을 수행합니다.

DatabaseProviderDialectTests.cs 파일의 30 번째 라인에서 정의되었습니다.

31 {
32 var sql = BuildCreateTableSql(new SqliteDatabaseProvider("Data Source=:memory:"));
33
34 Assert.Contains("\"DialectSamples\"", sql);
35 Assert.Contains("\"Id\" INTEGER PRIMARY KEY AUTOINCREMENT", sql);
36 Assert.Contains("\"Name\" TEXT", sql);
37 }

다음을 참조함 : BuildCreateTableSql().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ SqlServerProvider_BuildsSqlServerCreateTableSql()

void Dreamine.FullKit.Tests.Database.DatabaseProviderDialectTests.SqlServerProvider_BuildsSqlServerCreateTableSql ( )
inline

Sql Server Provider Builds Sql Server Create Table Sql 작업을 수행합니다.

DatabaseProviderDialectTests.cs 파일의 84 번째 라인에서 정의되었습니다.

85 {
86 var sql = BuildCreateTableSql(new SqlServerDatabaseProvider("Server=localhost;Database=dreamine;User Id=user;Password=password;TrustServerCertificate=True;"));
87
88 Assert.Contains("IF OBJECT_ID", sql);
89 Assert.Contains("[DialectSamples]", sql);
90 Assert.Contains("[Id] INT IDENTITY(1,1) PRIMARY KEY", sql);
91 Assert.Contains("[Name] NVARCHAR(MAX)", sql);
92 }

다음을 참조함 : BuildCreateTableSql().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: