Beispiel #1
0
        public void GetAllVars()
        {
            // Arrange
            var context = new TestCaseContext();
            var sut     = new VarsManager(
                context.OptionsService,
                context.Logger);

            var random = new Random();

            int varsCount = 5;
            var vars      = new List <IVar>();

            for (int i = 0; i < varsCount; ++i)
            {
                vars.Add(new IntVar(
                             $"key{i}",
                             $"var-name{i}",
                             random.Next(-100, 100)));
            }

            // Act
            foreach (var v in vars)
            {
                sut.AddVar(v);
            }
            var actual = sut.GetAllVars();

            // Assert
            Assert.Equal(vars, actual);
        }
Beispiel #2
0
        public void Init()
        {
            // Arrange
            var context = new TestCaseContext();
            var sut     = new VarsManager(
                context.OptionsService,
                context.Logger);

            var userName = "******";
            var vars     = new List <IVar>
            {
                new IntVar("v1", "v1-name", 0),
                new IntVar("v2", "v2-name", 1),
                new IntVar("v3", "v3-name", 2),
            };

            // Act
            sut.Init(userName, vars);
            var allVars     = sut.GetAllVars();
            var userNameVar = sut.GetVar <StringVar>(context.Options.UserNameVarKey);

            // Assert
            Assert.Equal(vars.Count + 1, allVars.Count());
            Assert.Equal(userName, userNameVar.Value);
        }
        public static VarElement createElement(VarsManager managerT)
        {
            manager = managerT;
            element = new VarElement(manager, Consts.PARAM_STR);
            SmallDialog_NewVar_String dialog = new SmallDialog_NewVar_String("新建字符变量");

            dialog.ShowDialog();
            return(element);
        }
Beispiel #4
0
        public static VarElement createElement(VarsManager managerT)
        {
            manager = managerT;
            element = new VarElement(manager, Consts.PARAM_INT);
            SmallDialog_NewVar_INT dialog = new SmallDialog_NewVar_INT("新建整型变量");

            dialog.ShowDialog();
            return(element);
        }
Beispiel #5
0
        public void RemoveVar_NotFound_Throws()
        {
            // Arrange
            var context = new TestCaseContext();
            var sut     = new VarsManager(
                context.OptionsService,
                context.Logger);

            // Act + Assert
            Assert.Throws <VarNotFoundException>(() => sut.RemoveVar("key"));
        }
Beispiel #6
0
        public void AddVar_SameVar_Throws()
        {
            // Arrange
            var context = new TestCaseContext();
            var sut     = new VarsManager(
                context.OptionsService,
                context.Logger);

            var key  = "var";
            var aVar = new IntVar(key, "var-name", 15);

            // Act + Assert
            sut.AddVar(aVar);
            Assert.Throws <VarAlreadyExistsException>(() => sut.AddVar(aVar));
        }
        //设置地图单元
        public static void configElement(VarElement elementT)
        {
            if (elementT == null)
            {
                Console.WriteLine("error in configElement");
                return;
            }
            manager = (VarsManager)elementT.parent;
            element = elementT;
            SmallDialog_NewVar_String dialog = new SmallDialog_NewVar_String("设置字符变量");

            dialog.textBox_name.Text  = element.name;
            dialog.textBox_Value.Text = (String)element.getValue();
            dialog.ShowDialog();
        }
Beispiel #8
0
        //设置地图单元
        public static void configElement(VarElement elementT)
        {
            if (elementT == null)
            {
                Console.WriteLine("error in configElement");
                return;
            }
            manager = (VarsManager)elementT.parent;
            element = elementT;
            SmallDialog_NewVar_INT dialog = new SmallDialog_NewVar_INT("设置整型变量");

            dialog.textBox_name.Text         = element.name;
            dialog.numericUpDown_Value.Value = (int)element.getValue();
            dialog.ShowDialog();
        }
Beispiel #9
0
        public void RemoveVar_Success()
        {
            // Arrange
            var context = new TestCaseContext();
            var sut     = new VarsManager(
                context.OptionsService,
                context.Logger);

            var key  = "var";
            var aVar = new IntVar(key, "var-name", 15);

            // Act + Assert
            sut.AddVar(aVar);
            sut.RemoveVar(key);
            Assert.Throws <VarNotFoundException>(() => sut.GetVar("key"));
        }
Beispiel #10
0
        public void AddVar_Success()
        {
            // Arrange
            var context = new TestCaseContext();
            var sut     = new VarsManager(
                context.OptionsService,
                context.Logger);

            var key  = "var";
            var aVar = new IntVar(key, "var-name", 15);

            // Act
            sut.AddVar(aVar);
            var actual = sut.GetVar <IntVar>(key);

            // Assert
            Assert.Same(aVar, actual);
        }
Beispiel #11
0
        public void GetVar_Overload()
        {
            // Arrange
            var context = new TestCaseContext();
            var sut     = new VarsManager(
                context.OptionsService,
                context.Logger);

            var key  = "key";
            var aVar = new IntVar("key", "var-name", 15);

            // Act
            sut.AddVar(aVar);
            var actual1 = sut.GetVar(key) as IntVar;
            var actual2 = sut.GetVar <IntVar>(key);

            // Assert
            Assert.Same(aVar, actual1);
            Assert.Same(aVar, actual2);
        }
Beispiel #12
0
        public void ContainsVar()
        {
            // Arrange
            var context = new TestCaseContext();
            var sut     = new VarsManager(
                context.OptionsService,
                context.Logger);

            var key = "key";

            // Act
            var beforeAdd = sut.ContainsVar(key);

            sut.AddVar(new IntVar(key, "var-name"));
            var afterAdd = sut.ContainsVar(key);

            // Assert
            Assert.False(beforeAdd);
            Assert.True(afterAdd);
        }
Beispiel #13
0
        public void ClearVars()
        {
            // Arrange
            var context = new TestCaseContext();
            var sut     = new VarsManager(
                context.OptionsService,
                context.Logger);

            int varsCount = 3;

            var vars = new List <IntVar>();

            for (int i = 0; i < varsCount; ++i)
            {
                sut.AddVar(new IntVar($"key{i}", $"var-name{i}"));
            }

            // Act
            sut.ClearVars();

            // Assert
            Assert.Empty(sut.GetAllVars());
        }
Beispiel #14
0
        public override bool StepExecute(int operatorUserID, string param, ref long offset, ref int totalCount, ref int finishedCount, out string title, out bool isLastStep)
        {
            List <int> values = StringUtil.Split2 <int>(param);

            bool recountUsers = false;

            if (offset == 0)
            {
                bool recountToday    = false;
                bool recountYestoday = false;
                if (values.Contains(1))
                {
                    recountToday = true;
                }
                if (values.Contains(2))
                {
                    recountYestoday = true;
                }

                if (recountToday == false && recountYestoday == false)
                {
                    recountUsers = true;
                }
                else
                {
#if !Passport
                    title = "正重新统计帖子数";
                    bool success = PostBOV5.Instance.ReCountTopicsAndPosts(recountToday, recountYestoday);
#else
                    title = "";
                    bool success = true;
#endif

                    if (values.Contains(3))
                    {
                        isLastStep = false;
                    }
                    else
                    {
                        isLastStep = true;
                    }

                    offset = 2;
                    finishedCount++;
                    return(success);
                }
            }
            else
            {
                if (values.Contains(3))
                {
                    recountUsers = true;
                }
            }

            title = "";
            if (recountUsers)
            {
                title = "正重新统计用户数";
                VarsManager.UpdateUserCount();
            }
            isLastStep = true;
            return(true);
        }
Beispiel #15
0
 public void Process(DataTable data)
 {
     VarsManager.ResetVars();
 }