示例#1
0
        public static T ScriptCalled <T>(IDatabaseFixture fixture, Query key, Func <T> func)
        {
            T returnValue = default(T);

            ScriptsCalled(fixture, () => returnValue = func(), 1, key);
            return(returnValue);
        }
示例#2
0
        protected TestsBase(IDatabaseFixture databaseFixture, ITestOutputHelper output)
        {
            _databaseFixture = databaseFixture;
            _output          = output;

            _databaseFixture.InitializeSupportedQueries(GetDefaultResult, GetColumnNames, GetQuerryPattern);

            _queryable    = _databaseFixture.ObjectProvider.GetQueryable <E.Test>().ForceLoad();
            _subQueryable = _databaseFixture.ObjectProvider.GetQueryable <E.SubTest>().ForceLoad();
        }
示例#3
0
        public static void ScriptsCalled(IDatabaseFixture fixture, Action action, params Query[] keys)
        {
            List <Query> keysList = keys.ToList();

            EventHandler <HitCommandEventArgs> handler = (s, e) =>
            {
                int index = keysList.IndexOf(e.Key);
                False(index == -1, "Wrong script executed.");
                keysList.RemoveAt(index);
            };

            try
            {
                fixture.HitCommand += handler;
                action();
            }
            finally
            {
                fixture.HitCommand -= handler;
            }

            Empty(keysList);
        }
示例#4
0
        public static void ScriptsCalled(IDatabaseFixture fixture, Action action, int expectedCount, Query key)
        {
            int hitCount = 0;
            EventHandler <HitCommandEventArgs> handler = (s, e) =>
            {
                if (e.Key == key)
                {
                    hitCount++;
                }
            };

            try
            {
                fixture.HitCommand += handler;
                action();
            }
            finally
            {
                fixture.HitCommand -= handler;
            }

            Equal(expectedCount, hitCount);
        }
示例#5
0
 public static void ScriptCalled(IDatabaseFixture fixture, Query key, Action action)
 {
     ScriptsCalled(fixture, action, 1, key);
 }