public void HitsFileWithDifferentNumberOfEntriesCausesExceptionOnUnload()
 {
     FunctionExecutor.Run(() =>
     {
         using var ctx = new TrackerContext();
         WriteHitsFile(new[] { 1, 2, 3 });
         ModuleTrackerTemplate.HitsArray = new[] { 1 };
         Assert.Throws <InvalidOperationException>(() => ModuleTrackerTemplate.UnloadModule(null, null));
         return(s_success);
     });
 }
        public void HitsFileCorrectlyWritten()
        {
            FunctionExecutor.Run(() =>
            {
                using var ctx = new TrackerContext();
                ModuleTrackerTemplate.HitsArray = new[] { 1, 2, 0, 3 };
                ModuleTrackerTemplate.UnloadModule(null, null);

                int[] expectedHitsArray = new[] { 1, 2, 0, 3 };
                Assert.Equal(expectedHitsArray, ReadHitsFile());

                return(s_success);
            });
        }
        public void HitsFileCorrectlyWritten()
        {
            using var invoker = RemoteExecutor.Invoke(_ =>
            {
                using var ctx = new TrackerContext();
                ModuleTrackerTemplate.HitsArray = new[] { 1, 2, 0, 3 };
                ModuleTrackerTemplate.UnloadModule(null, null);

                var expectedHitsArray = new[] { 1, 2, 0, 3 };
                Assert.Equal(expectedHitsArray, ReadHitsFile());

                return(_success);
            });
        }
Exemple #4
0
        public void HitsOnMultipleThreadsCorrectlyCounted()
        {
            FunctionExecutor.Run(() =>
            {
                using var ctx = new TrackerContext();
                ModuleTrackerTemplate.HitsArray = new[] { 0, 0, 0, 0 };
                for (int i = 0; i < ModuleTrackerTemplate.HitsArray.Length; ++i)
                {
                    var t = new Thread(HitIndex);
                    t.Start(i);
                }

                ModuleTrackerTemplate.UnloadModule(null, null);
                var expectedHitsArray = new[] { 4, 3, 2, 1 };
                Assert.Equal(expectedHitsArray, ReadHitsFile());