コード例 #1
0
        public void NotToThrow_AndCraeteNewMark(Subject subject, double value)
        {
            // Arrange
            var studentId   = Guid.NewGuid().ToString();
            var markFactory = new MarkFactory();

            // Act
            var mark = markFactory.CreateMark(studentId, subject, value);

            // Assert
            Assert.AreEqual(studentId, mark.StudentId);
            Assert.AreEqual(subject, mark.Subject);
            Assert.AreEqual(value, mark.Value);
            Assert.AreEqual(typeof(Mark), mark.GetType());
        }
コード例 #2
0
ファイル: MainForm.cs プロジェクト: chengdexy/XMarker
        /// <summary>
        /// 开始执行
        /// </summary>
        private void StartButton_Click(object sender, EventArgs e)
        {
            if (IsValidated())
            {
                ShowLog("验证通过");
                MarkKind      kind     = GetMarkKind();
                string        source   = SourceText.Text;
                string        target   = TargetText.Text;
                List <string> textList = new List <string>();
                int           begin    = Convert.ToInt32(StartNumeric.Value);
                int           end      = Convert.ToInt32(EndNumeric.Value);

                foreach (object item in OfficeList.Items)
                {
                    textList.Add(item.ToString());
                }
                Mark markDemo = new Mark
                {
                    Color    = MarkColorPicture.BackColor,
                    Font     = MarkFontText.Text,
                    Rotation = Convert.ToInt32(MarkRotationNumeric.Value),
                    Size     = Convert.ToInt32(MarkSizeNumeric.Value),
                };
                MarkList markList = null;
                switch (kind)
                {
                case MarkKind.solid:
                    markList = new MarkList(markDemo, SolidText.Text);
                    break;

                case MarkKind.list:
                    markList = new MarkList(markDemo, textList);
                    break;

                case MarkKind.number:
                    markList = new MarkList(markDemo, begin, end);
                    break;
                }
                MarkFactory fact = new MarkFactory(markList.GetMarks(), source, target);
                ShowLog("开始生成水印,请勿关闭...");
                DateTime stime    = DateTime.Now;
                int      count    = fact.Generate();
                double   timeCost = (DateTime.Now - stime).TotalMilliseconds;
                ShowLog($"已完成!({timeCost}ms)");
                ShowLog($"生成了{count}个水印文件");
            }
        }
コード例 #3
0
        /// <summary>
        /// X,Y座標にMarkを追加する
        /// </summary>
        /// <param name="pos">X,Y座標</param>
        /// <returns>処理の正否</returns>
        public bool AddMarkAt(Point pos)
        {
            // 現在選択中のマーカーを取得する
            IMarkable mark = MarkerModel.GetSelectingMark();

            if (mark == null)
            {
                return(false);
            }
            int selectingIndex = GetIndexFromPosition(pos);

            if (selectingIndex == -1)
            {
                return(false);
            }

            if (GetMarkFromIndex(selectingIndex) != null)
            {
                return(false);
            }

            return(MarkFactory.AddMark(_writersBFView.Editor.GetText(), GetIndexFromPosition(pos), mark));
        }