Exemplo n.º 1
0
        public static void CreateTest(int value, bool isError, Type createdInstanceType)
        {
            VariableAddress instance = null;

            var errorOccured = false;

            try
            {
                instance = VariableAddressFactory.Create(value);
            }
            catch (Exception ex)
            {
                logger.Exception(ex);
                errorOccured = true;
            }

            // エラーフラグが一致すること
            Assert.AreEqual(errorOccured, isError);

            if (errorOccured)
            {
                return;
            }

            // 意図した型にキャストできること
            Assert.AreEqual(instance.GetType(), createdInstanceType);

            // セットした値が正しく取得できること
            Assert.AreEqual(instance.ToInt(), value);
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            VariableAddress address = new VariableAddress();

            address.Name = Console.ReadLine();

            Console.WriteLine($"{address.Name}");
            Console.WriteLine($"{address.Address.Country}");
            Console.WriteLine($"{address.Address.Number}");
            Console.WriteLine($"{address.Address.StreetName}");
        }
Exemplo n.º 3
0
        /// <summary>
        /// int値をVariableAddressに変換する。
        /// </summary>
        /// <param name="src">対象</param>
        /// <param name="result">
        ///     変換に成功した場合、変換値。
        ///     変換に失敗した場合、null。
        /// </param>
        /// <returns>変換に成功した場合、true</returns>
        public static bool TryToVariableAddress(this int src, out VariableAddress result)
        {
            if (!src.IsVariableAddress())
            {
                result = null;
                return(false);
            }

            result = VariableAddressFactory.Create(src);
            return(true);
        }
Exemplo n.º 4
0
 public void SetValue(VariableAddress addr, object val)
 {
     for (int b = blocks.Count - 1; b >= 0; --b)
     {
         if (blocks[b].values.ContainsKey(addr.Name))
         {
             var varObj = blocks[b].values[addr.Name];
             if (varObj is ValueBinding)
             {
                 (varObj as ValueBinding).SetValue(val);
             }
             else
             {
                 varObj = val;
             }
             blocks[b].values[addr.Name] = varObj;
             return;
         }
     }
     blocks[0].values.Add(addr.Name, val);
 }
Exemplo n.º 5
0
 public object GetValue(VariableAddress addr)
 {
     for (int b = blocks.Count - 1; b >= 0; --b)
     {
         if (blocks[b].values.ContainsKey(addr.Name))
         {
             var varObj = blocks[b].values[addr.Name];
             if (varObj is ValueBinding)
             {
                 return((varObj as ValueBinding).GetValue());
             }
             else
             {
                 return(varObj);
             }
         }
     }
     Debug.Assert(false,
                  "Unable to find variable " + addr.Name + "!");
     return(null);
 }