Exemplo n.º 1
0
        /// <summary>
        /// 数组测试
        /// </summary>
        /// <param name="array"></param>
        /// <returns></returns>
        internal static bool TestCase(ValueArray <int> array)
        {
            #region array[1] = 9;
            AutoCSer.CacheServer.ReturnValue <bool> isSet = array.Set(1, 9);
            if (!isSet.Value)
            {
                return(false);
            }
            #endregion

            #region 获取索引为 1 的数据
            AutoCSer.CacheServer.ReturnValue <int> value = array.Get(1);
            if (value.Value != 9)
            {
                return(false);
            }
            #endregion

            #region 获取索引为 1 的数字更新
            AutoCSer.CacheServer.OperationUpdater.Number <int> number1 = array.GetNumberUpdater(1);
            #endregion

            #region 索引为 1 的数据 +2
            value = number1 + 2;
            if (value.Value != 11)
            {
                return(false);
            }
            #endregion

            #region 索引为 1 的数据 -5
            value = number1 - 5;
            if (value.Value != 6)
            {
                return(false);
            }
            #endregion

            #region 获取索引为 1 的数据
            value = array.Get(1);
            if (value.Value != 6)
            {
                return(false);
            }
            #endregion

            #region 如果索引为 1 的数据小于 10 则 +5
            value = number1.Add(5, number1 < 10);
            if (value.Value != 11)
            {
                return(false);
            }
            #endregion

            #region 如果索引为 1 的数据小于 10 则 +5
            value = number1.Add(5, number1 < 10);
            if (value.Value != 11)
            {
                return(false);
            }
            #endregion

            #region 获取索引为 1 的数据
            value = array.Get(1);
            if (value.Value != 11)
            {
                return(false);
            }
            #endregion

            #region 获取数组已使用长度
            AutoCSer.CacheServer.ReturnValue <int> count = array.Count;
            if (count.Value != 2)
            {
                return(false);
            }
            #endregion

            #region 清除所有数据
            AutoCSer.CacheServer.ReturnValue <bool> isClear = array.Clear();
            if (!isClear.Value)
            {
                return(false);
            }
            count = array.Count;
            if (count.Type != AutoCSer.CacheServer.ReturnType.Success || count.Value != 0)
            {
                return(false);
            }
            #endregion

            return(true);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 搜索树字典测试
        /// </summary>
        /// <param name="client"></param>
        /// <returns></returns>
        internal static bool TestCase(AutoCSer.CacheServer.Client client)
        {
            #region 创建名称为 ValueSearchTreeDictionary 的搜索树字典缓存
            ValueSearchTreeDictionary <int, int> dictionary = client.GetOrCreateDataStructure <ValueSearchTreeDictionary <int, int> >("ValueSearchTreeDictionary").Value;
            if (dictionary == null)
            {
                return(false);
            }
            #endregion

            #region dictionary[1] = 9;
            AutoCSer.CacheServer.ReturnValue <bool> isSet = dictionary.Set(1, 9);
            if (!isSet.Value)
            {
                return(false);
            }
            #endregion

            #region 判断关键字 1 是否存在
            AutoCSer.CacheServer.ReturnValue <bool> isKey = dictionary.ContainsKey(1);
            if (!isKey.Value)
            {
                return(false);
            }
            #endregion

            #region 获取关键字为 1 的数据
            AutoCSer.CacheServer.ReturnValue <int> value = dictionary.Get(1);
            if (value.Value != 9)
            {
                return(false);
            }
            #endregion

            #region 获取关键字为 1 的数字更新
            AutoCSer.CacheServer.OperationUpdater.Number <int> number1 = dictionary.GetNumberUpdater(1);
            #endregion

            #region 关键字为 1 的数据 +2
            value = number1 + 2;
            if (value.Value != 11)
            {
                return(false);
            }
            #endregion

            #region 关键字为 1 的数据 -5
            value = number1 - 5;
            if (value.Value != 6)
            {
                return(false);
            }
            #endregion

            #region 获取关键字为 1 的数据
            value = dictionary.Get(1);
            if (value.Value != 6)
            {
                return(false);
            }
            #endregion

            #region dictionary[3] = 8;
            isSet = dictionary.Set(3, 8);
            if (!isSet.Value)
            {
                return(false);
            }
            #endregion

            #region 获取逆序分页数据
            AutoCSer.CacheServer.ReturnValue <int[]> page = dictionary.GetPageDesc(1, 10);
            if (page.Value == null || page.Value.Length != 2 || page.Value[0] != 8 || page.Value[1] != 6)
            {
                return(false);
            }
            #endregion

            #region 获取字典数据数量
            AutoCSer.CacheServer.ReturnValue <int> count = dictionary.Count;
            if (count.Value != 2)
            {
                return(false);
            }
            #endregion

            #region  除关键字为 1 的数据
            AutoCSer.CacheServer.ReturnValue <bool> isRemove = dictionary.Remove(1);
            if (!isRemove.Value)
            {
                return(false);
            }
            #endregion

            isRemove = dictionary.Remove(3);
            if (!isRemove.Value)
            {
                return(false);
            }
            count = dictionary.Count;
            if (count.Type != AutoCSer.CacheServer.ReturnType.Success || count.Value != 0)
            {
                return(false);
            }

            return(true);
        }