Exemple #1
0
 protected void GetAssertPass <T>(IGetOperationResult <T> result, T expectedValue)
 {
     Assert.True(result.Success, "Success was false");
     Assert.True(result.Cas > 0, "Cas value was 0");
     Assert.True((result.StatusCode ?? 0) == 0, "StatusCode was neither 0 nor null");
     Assert.Equal(expectedValue, result.Value);
 }
 protected void GetAssertPass(IGetOperationResult result, object expectedValue)
 {
     Assert.That(result.Success, Is.True, "Success was false");
     Assert.That(result.Cas, Is.GreaterThan(0), "Cas value was 0");
     Assert.That(result.StatusCode, Is.EqualTo(0).Or.Null, "StatusCode was neither 0 nor null");
     Assert.That(result.Value, Is.EqualTo(expectedValue), "Actual value was not expected value: " + result.Value);
 }
        protected override IGetOperationResult PerformTryGet(string key, out ulong cas, out object value)
        {
            string              str       = base.KeyTransformer.Transform(key);
            IMemcachedNode      startNode = base.Pool.Locate(str);
            IGetOperationResult source    = base.GetOperationResultFactory.Create();

            if (startNode != null)
            {
                IGetOperation    op      = base.Pool.OperationFactory.Get(str);
                IOperationResult result2 = this.ExecuteWithRedirect(startNode, op);
                if (result2.Success)
                {
                    source.Value = value = op.Result.Data; // base.Transcoder.Deserialize(op.Result);
                    source.Cas   = cas = op.CasValue;
                    if (base.PerformanceMonitor != null)
                    {
                        base.PerformanceMonitor.Get(1, true);
                    }
                    source.Pass(null);
                    return(source);
                }
                value = null;
                cas   = 0L;
                result2.Combine(source);
                return(source);
            }
            value = null;
            cas   = 0L;
            if (base.PerformanceMonitor != null)
            {
                base.PerformanceMonitor.Get(1, false);
            }
            source.Fail("Unable to locate node", null);
            return(source);
        }
 public static void GetAssertPass(IGetOperationResult result, object expectedValue)
 {
     Assert.That(result.Success, Is.True, "Success was false");
     Assert.That(result.Cas, Is.GreaterThan(0), "Cas value was 0");
     Assert.That(result.StatusCode, Is.EqualTo(0).Or.Null, "StatusCode was neither 0 nor null");
     Assert.That(result.Value, Is.EqualTo(expectedValue), "Actual value was not expected value: " + result.Value);
 }
Exemple #5
0
        /// <summary>
        /// 如果该键不存在,则通过使用指定的函数将键/值对添加到 Memcached 中。 如果该键存在,则返回新值或现有值。
        /// </summary>
        /// <param name="key">要添加的元素的键。</param>
        /// <param name="valueFactory">用于为键生成值的函数。</param>
        /// <param name="expiresAt">过期时间,默认永久有效</param>
        /// <returns>键的值。 如果 Memcached 中已存在该键,则为该键的现有值;如果 Memcached 中不存在该键,则为新值。</returns>
        public static T GetOrAdd <T>(string key, Func <string, T> valueFactory, DateTime expiresAt = default(DateTime))
        {
            if (key == null)
            {
                throw new ArgumentNullException(nameof(key));
            }
            if (valueFactory == null)
            {
                throw new ArgumentNullException(nameof(valueFactory));
            }

            T local = default(T);
            IGetOperationResult <T> result = client.ExecuteGet <T>(key);

            if (result.Success && result.HasValue)
            {
                local = result.Value;
            }
            else
            {
                local = valueFactory(key);
                if (expiresAt == default(DateTime))
                {
                    Set(key, local);
                }
                else
                {
                    Set(key, local, expiresAt);
                }
            }
            return(local);
        }
Exemple #6
0
        protected void ShouldFail <T>(IGetOperationResult <T> result)
        {
            ShouldFail((IOperationResult)result);

            Assert.False(result.HasValue);
            Assert.Equal(default(T), result.Value);
        }
Exemple #7
0
        protected void ShouldPass <T>(IGetOperationResult <T> result, T expectedValue)
        {
            ShouldPass(result);

            Assert.True(result.HasValue);
            Assert.Equal(expectedValue, result.Value);
        }
Exemple #8
0
 protected void GetAssertFail(IGetOperationResult <object> result)
 {
     Assert.False(result.Success, "Success was true");
     Assert.Equal((ulong)0, result.Cas);
     Assert.True(result.StatusCode > 0, "StatusCode not greater than 0");
     Assert.False(result.HasValue, "HasValue was true");
     Assert.Null(result.Value);
 }
 protected void GetAssertFail(IGetOperationResult result)
 {
     Assert.That(result.Success, Is.False, "Success was true");
     Assert.That(result.Cas, Is.EqualTo(0), "Cas value was not 0");
     Assert.That(result.StatusCode, Is.Null.Or.GreaterThan(0), "StatusCode not greater than 0");
     Assert.That(result.HasValue, Is.False, "HasValue was true");
     Assert.That(result.Value, Is.Null, "Value was not null");
 }
 public static void GetAssertFail(IGetOperationResult result)
 {
     Assert.That(result.Success, Is.False, "Success was true");
     Assert.That(result.Cas, Is.EqualTo(0), "Cas value was not 0");
     Assert.That(result.StatusCode, Is.Null.Or.GreaterThan(0), "StatusCode not greater than 0");
     Assert.That(result.HasValue, Is.False, "HasValue was true");
     Assert.That(result.Value, Is.Null, "Value was not null");
 }
Exemple #11
0
        protected void AreEqual <T>(T expectedValue, IGetOperationResult <T> result, string operation = null)
        {
            ShouldPass(result, operation: operation);

            var prefix = CreatePrefix(operation);

            Assert.True(result.HasValue, prefix + "AreEqual - HasValue");
            Assert.Equal(expectedValue, result.Value);
        }
Exemple #12
0
        public static TextContent ToContent(this IGetOperationResult row)
        {
            if (row == null)
            {
                return(null);
            }
            var dic = JsonConvert.DeserializeObject <Dictionary <string, object> >(row.Value.ToString());

            return(new TextContent(dic));
        }
Exemple #13
0
        public override bool Execute()
        {
            IGetOperationResult <string> gres
                = client.ExecuteGet <string>(Key);

            if (!gres.Success)
            {
                FailCommand(gres);
                return(false);
            }
            Console.Error.WriteLine("Command OK");
            Console.Error.WriteLine("Value is " + gres.Value);
            Console.Error.WriteLine("Cas is " + gres.Cas.ToString());
            return(true);
        }
Exemple #14
0
        protected void ShouldFail <T>(IGetOperationResult <T> result, T shouldNotBe)
        {
            ShouldFail((IOperationResult)result);

            Assert.NotEqual(shouldNotBe, result.Value);
        }
Exemple #15
0
 protected void ShouldPass(IGetOperationResult <object> result, object expectedValue)
 {
     ShouldPass <object>(result, expectedValue);
 }