Exemple #1
0
        public void TestRunEnumerationOperation()
        {
            var oldTimestamp = 1234L;
            var newTimestamp = 3456L;

            var i           = 0;
            var enumeration = new Func <long, long>((old) =>
            {
                Assert.AreEqual(oldTimestamp, old);
                i++;
                return(newTimestamp);
            });

            using (mockRepository.Record())
            {
                keyValueStorage.Expect(f => f.Find <long>("zzzTimestamp.json")).Return(oldTimestamp);
                keyValueStorage.Expect(f => f.Write("zzzTimestamp.json", newTimestamp));
            }

            var operation       = new EnumerationOperation(keyValueStorage, "zzz", enumeration, () => 1L);
            var operationResult = operation.Run();

            Assert.False(operationResult.HasValue);
            Assert.AreEqual(i, 1);
        }
Exemple #2
0
        public void TestParseFromBranchNameFail()
        {
            var commit = GenerateCommit("bla bla bla");
            var actual = commit.ParseFromBranchName();

            Assert.False(actual.HasValue);
        }
Exemple #3
0
        public void TestRunSimpleOperationTwiceAtOnTime()
        {
            const int timeoutMs    = 500;
            var       newTimestamp = 3456L;

            var i           = 0;
            var enumeration = new Func <long, long>((old) =>
            {
                Assert.AreEqual(1L, old);
                i++;
                return(newTimestamp);
            });

            using (mockRepository.Record())
            {
                keyValueStorage.Expect(f => f.Find <long>("zzzTimestamp.json")).Return(0);
                keyValueStorage.Expect(f => f.Write("zzzTimestamp.json", newTimestamp));
            }

            var operation = new EnumerationOperation(keyValueStorage, "zzz", enumeration, () => 1L);

            Task.Run(() =>
            {
                Assert.AreEqual(OperationState.Idle, operation.State);
                var firstRunResult = operation.Run();
                Assert.False(firstRunResult.HasValue);
            });

            Task.Run(() =>
            {
                Assert.AreEqual(OperationState.Running, operation.State);
                var secondRunResult = operation.Run();
                Assert.False(secondRunResult.HasValue);
            });
            Thread.Sleep(timeoutMs + 50);
            Assert.AreEqual(OperationState.Idle, operation.State);
            Assert.AreEqual(1, i);
        }