@@ -6,7 +6,7 @@ namespace LightningDB.Tests;
66public  class  DatabaseTests  :  TestBase 
77{ 
88
9-     public  void  DatabaseShouldBeCreated ( ) 
9+     public  void  database_should_be_created ( ) 
1010    { 
1111        using  var  env  =  CreateEnvironment ( ) ; 
1212        const  string  dbName  =  "test" ; 
@@ -25,7 +25,7 @@ public void DatabaseShouldBeCreated()
2525        } 
2626    } 
2727
28-     public  void  DatabaseShouldBeClosed ( ) 
28+     public  void  database_should_be_closed ( ) 
2929    { 
3030        using  var  env  =  CreateEnvironment ( ) ; 
3131        env . Open ( ) ; 
@@ -37,7 +37,7 @@ public void DatabaseShouldBeClosed()
3737        db . IsOpened . ShouldBeFalse ( ) ; 
3838    } 
3939
40-     public  void  DatabaseFromCommittedTransactionShouldBeAccessible ( ) 
40+     public  void  database_from_committed_transaction_should_be_accessible ( ) 
4141    { 
4242        using  var  env  =  CreateEnvironment ( ) ; 
4343        env . Open ( ) ; 
@@ -57,7 +57,7 @@ public void DatabaseFromCommittedTransactionShouldBeAccessible()
5757        } 
5858    } 
5959
60-     public  void  NamedDatabaseNameExistsInMaster ( ) 
60+     public  void  named_database_name_exists_in_master ( ) 
6161    { 
6262        using  var  env  =  CreateEnvironment ( ) ; 
6363        env . MaxDatabases  =  2 ; 
@@ -80,7 +80,7 @@ public void NamedDatabaseNameExistsInMaster()
8080        } 
8181    } 
8282
83-     public  void  ReadonlyTransactionOpenedDatabasesDontGetReused ( ) 
83+     public  void  readonly_transaction_opened_databases_dont_get_reused ( ) 
8484    { 
8585        //This is here to assert that previous issues with the way manager 
8686        //classes (since removed) worked don't happen anymore. 
@@ -108,7 +108,7 @@ public void ReadonlyTransactionOpenedDatabasesDontGetReused()
108108        } 
109109    } 
110110
111-     public  void  DatabaseShouldBeDropped ( ) 
111+     public  void  database_should_be_dropped ( ) 
112112    { 
113113        using  var  env  =  CreateEnvironment ( ) ; 
114114        env . MaxDatabases  =  2 ; 
@@ -133,7 +133,7 @@ public void DatabaseShouldBeDropped()
133133        } 
134134    } 
135135
136-     public  void  TruncatingTheDatabase ( ) 
136+     public  void  truncating_the_database ( ) 
137137    { 
138138        using  var  env  =  CreateEnvironment ( ) ; 
139139        env . Open ( ) ; 
@@ -160,7 +160,7 @@ public void TruncatingTheDatabase()
160160        } 
161161    } 
162162
163-     public  void  DatabaseCanGetStats ( ) 
163+     public  void  database_can_get_stats ( ) 
164164    { 
165165        using  var  env  =  CreateEnvironment ( ) ; 
166166        env . Open ( ) ; 
@@ -176,4 +176,51 @@ public void DatabaseCanGetStats()
176176        stats . PageSize . ShouldBe ( env . EnvironmentStats . PageSize ) ; 
177177        stats . BTreeDepth . ShouldBe ( 1 ) ; 
178178    } 
179+     
180+     public  void  can_get_database_flags ( ) 
181+     { 
182+         using  var  env  =  CreateEnvironment ( ) ; 
183+         env . MaxDatabases  =  10 ;  // Allow more named databases 
184+         env . Open ( ) ; 
185+         
186+         // Test with the transaction-based GetFlags method using a named database with IntegerKey flag 
187+         using  ( var  txn  =  env . BeginTransaction ( ) ) 
188+         { 
189+             using  var  db  =  txn . OpenDatabase ( "intkey" ,  new  DatabaseConfiguration  
190+             {  
191+                 Flags  =  DatabaseOpenFlags . Create  |  DatabaseOpenFlags . IntegerKey  
192+             } ) ; 
193+             
194+             // Test using explicit transaction 
195+             var  flags  =  db . GetFlags ( txn ) ; 
196+             flags . ShouldNotBe ( DatabaseOpenFlags . None ) ; 
197+             
198+             // The flags should include DatabaseOpenFlags.IntegerKey 
199+             flags . HasFlag ( DatabaseOpenFlags . IntegerKey ) . ShouldBeTrue ( ) ; 
200+             txn . Commit ( ) ; 
201+         } 
202+         
203+         // Test default database (should have no special flags) 
204+         using  ( var  txn  =  env . BeginTransaction ( ) ) 
205+         { 
206+             using  var  db  =  txn . OpenDatabase ( null ,  new  DatabaseConfiguration  {  Flags  =  DatabaseOpenFlags . Create  } ) ; 
207+             
208+             var  flags  =  db . GetFlags ( txn ) ; 
209+             flags . ShouldBe ( DatabaseOpenFlags . None ) ; 
210+             txn . Commit ( ) ; 
211+         } 
212+         
213+         // Test DuplicatesSort flag 
214+         using  ( var  txn  =  env . BeginTransaction ( ) ) 
215+         { 
216+             using  var  db  =  txn . OpenDatabase ( "dupsort" ,  new  DatabaseConfiguration  
217+             {  
218+                 Flags  =  DatabaseOpenFlags . Create  |  DatabaseOpenFlags . DuplicatesSort  
219+             } ) ; 
220+             
221+             var  flags  =  db . GetFlags ( txn ) ; 
222+             flags . HasFlag ( DatabaseOpenFlags . DuplicatesSort ) . ShouldBeTrue ( ) ; 
223+             txn . Commit ( ) ; 
224+         } 
225+     } 
179226} 
0 commit comments