System.Data.SQLite
Check-in [d64df7a8cf]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Enhance SQLiteConnectionStringBuilder class property test to make sure that all property values make it completely through the processing.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: d64df7a8cff2811a717fb9ea2823ae445d6de457
User & Date: mistachkin 2011-12-20 05:26:45
Context
2011-12-20
05:44
Fix temporary database cleanup handling for the legacy unit test wrapper. check-in: bb725c632b user: mistachkin tags: trunk
05:26
Enhance SQLiteConnectionStringBuilder class property test to make sure that all property values make it completely through the processing. check-in: d64df7a8cf user: mistachkin tags: trunk
04:38
More testing of the SQLiteConnectionStringBuilder class. Modify anchor names in the release procedures wiki page. check-in: 6853b38030 user: mistachkin tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to Tests/basic.eagle.

903
904
905
906
907
908
909

910

911
912
913
914
915
916
917
918

919
920
921
922
923
924
925
926
927









928
929
930
931
932
933
934
...
948
949
950
951
952
953
954







955
956
957

958
959
960
961
962
963
964
965

966
967
968
969
970
971
972
973



974
975

976
977
978
979
980
981
982
983
984
985

runTest {test data-1.16 {SQLiteConnectionStringBuilder properties} -body {
  set id [object invoke Interpreter.GetActive NextId]

  unset -nocomplain results errors

  set code [compileCSharpWith [subst {

    using System.Data.SQLite;


    namespace _Dynamic${id}
    {
      public class Test${id}
      {
        public static string GetConnectionString(
          string key,
          string value

          )
        {
          SQLiteConnectionStringBuilder builder =
              new SQLiteConnectionStringBuilder();

          if (key != null)
            builder.Add(key, value);

          return builder.ToString();









        }

        public static void Main()
        {
          // do nothing.
        }
      }
................................................................................
    set values [list null 3 Full True False \
                     True test.db test.db 60 \
                     False True False True \
                     secret 4096 1024 8192 \
                     UnixEpoch Utc sqlite_schema \
                     Memory Serializable False]








    foreach key $keys value $values {
      set code [catch {
        object invoke _Dynamic${id}.Test${id} GetConnectionString $key $value

      } result]

      lappend results $code $result
    }
  }

  set results
} -cleanup {

  unset -nocomplain value key values keys result results errors code id
} -constraints \
{eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -match \
regexp -result {^System#CodeDom#Compiler#CompilerResults#\d+ Ok \{\} 0 \{\} 0\
Version=3 0 Synchronous=Full 0 UseUTF16Encoding=True 0 Pooling=False 0\
BinaryGUID=True 0 \{Data Source=test\.db\} 0 Uri=test\.db 0 \{Default\
Timeout=60\} 0 Enlist=False 0 FailIfMissing=True 0 \{Legacy Format=False\} 0\
\{Read Only=True\} 0 Password=secret 0 \{Page Size=4096\} 0 \{Max Page\



Count=1024\} 0 \{Cache Size=8192\} 0 DateTimeFormat=UnixEpoch 0\
DateTimeKind=Utc 0 BaseSchemaName=sqlite_schema 0 \{Journal Mode=Memory\} 0\

\{Default IsolationLevel=Serializable\} 0 \{Foreign Keys=False\}$}}

###############################################################################

unset -nocomplain testExeFile testLinqExeFile northwindEfDbFile testLinqOutFile

###############################################################################

runSQLiteTestEpilogue
runTestEpilogue







>

>







|
>








|
>
>
>
>
>
>
>
>
>







 







>
>
>
>
>
>
>
|

|
>








>
|


|
<
|
|
|
>
>
>
|
|
>
|









903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
...
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990

991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009

runTest {test data-1.16 {SQLiteConnectionStringBuilder properties} -body {
  set id [object invoke Interpreter.GetActive NextId]

  unset -nocomplain results errors

  set code [compileCSharpWith [subst {
    using System;
    using System.Data.SQLite;
    using System.Reflection;

    namespace _Dynamic${id}
    {
      public class Test${id}
      {
        public static string GetConnectionString(
          string key,
          string value,
          string propertyName
          )
        {
          SQLiteConnectionStringBuilder builder =
              new SQLiteConnectionStringBuilder();

          if (key != null)
            builder.Add(key, value);

          object propertyValue = null;

          if (propertyName != null)
          {
            propertyValue = typeof(SQLiteConnectionStringBuilder).InvokeMember(
                propertyName, BindingFlags.Instance | BindingFlags.Public |
                BindingFlags.GetProperty, null, builder, null);
          }

          return String.Format("{0}, {1}", propertyValue, builder);
        }

        public static void Main()
        {
          // do nothing.
        }
      }
................................................................................
    set values [list null 3 Full True False \
                     True test.db test.db 60 \
                     False True False True \
                     secret 4096 1024 8192 \
                     UnixEpoch Utc sqlite_schema \
                     Memory Serializable False]

    set propertyNames [list null Version SyncMode UseUTF16Encoding Pooling \
                            BinaryGUID DataSource Uri DefaultTimeout \
                            Enlist FailIfMissing LegacyFormat ReadOnly \
                            Password PageSize MaxPageCount CacheSize \
                            DateTimeFormat DateTimeKind BaseSchemaName \
                            JournalMode DefaultIsolationLevel ForeignKeys]

    foreach key $keys value $values propertyName $propertyNames {
      set code [catch {
        object invoke _Dynamic${id}.Test${id} GetConnectionString \
            $key $value $propertyName
      } result]

      lappend results $code $result
    }
  }

  set results
} -cleanup {
  unset -nocomplain propertyName propertyNames value key values keys result \
      results errors code id
} -constraints \
{eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -match \
regexp -result {^System#CodeDom#Compiler#CompilerResults#\d+ Ok \{\} 0 \{, \} 0\

\{3, Version=3\} 0 \{Full, Synchronous=Full\} 0 \{True, UseUTF16Encoding=True\}\
0 \{False, Pooling=False\} 0 \{True, BinaryGUID=True\} 0 \{test\.db, Data\
Source=test\.db\} 0 \{test\.db, Uri=test\.db\} 0 \{60, Default Timeout=60\} 0\
\{False, Enlist=False\} 0 \{True, FailIfMissing=True\} 0 \{False, Legacy\
Format=False\} 0 \{True, Read Only=True\} 0 \{secret, Password=secret\} 0\
\{4096, Page Size=4096\} 0 \{1024, Max Page Count=1024\} 0 \{8192, Cache\
Size=8192\} 0 \{UnixEpoch, DateTimeFormat=UnixEpoch\} 0 \{Utc,\
DateTimeKind=Utc\} 0 \{sqlite_schema, BaseSchemaName=sqlite_schema\} 0\
\{Memory, Journal Mode=Memory\} 0 \{Serializable, Default\
IsolationLevel=Serializable\} 0 \{False, Foreign Keys=False\}$}}

###############################################################################

unset -nocomplain testExeFile testLinqExeFile northwindEfDbFile testLinqOutFile

###############################################################################

runSQLiteTestEpilogue
runTestEpilogue