Exemplo n.º 1
0
        public void SimpleMultiClassInheritance()
        {
            Variable c = DefaultModule.GetVariable("simpleMultiClassInheritanceTest");

            Assert.Equal(42.0f, (float)c.GetField("c"));
            Assert.Equal(42.0, (double)c.GetField("b"));
            Assert.Equal(42, (byte)c.GetField("a"));
            Variable a = c.GetBaseClass("SimpleMultiClassInheritanceA");

            Assert.Equal(42, (byte)a.GetField("a"));
            Variable b = c.GetBaseClass("SimpleMultiClassInheritanceB");

            Assert.Equal(42.0, (double)b.GetField("b"));

            if (ExecuteCodeGen)
            {
                InterpretInteractive($@"
Variable global = Process.Current.GetGlobal(""{DefaultModuleName}!simpleMultiClassInheritanceTest"");
var c = new SimpleMultiClassInheritanceC(global);
AreEqual(42.0f, c.c);
AreEqual(42, c.BaseClass_SimpleMultiClassInheritanceA.a);
AreEqual(42.0, c.BaseClass_SimpleMultiClassInheritanceB.b);
                    ");
            }
        }
Exemplo n.º 2
0
        public void MultiClassInheritance2()
        {
            Variable d = DefaultModule.GetVariable("multiClassInheritanceTest2");

            Assert.Equal(42, (double)d.GetField("d"));
            Assert.Equal(42, (int)d.GetField("b"));
            Assert.Equal(42, (float)d.GetField("a"));
            Variable a = d.GetBaseClass("MultiClassInheritanceA");

            Assert.Equal(42, (float)a.GetField("a"));
            Variable b = d.GetBaseClass("MultiClassInheritanceB");

            Assert.Equal(42, (int)b.GetField("b"));
            Assert.Equal(d.GetPointerAddress(), a.DowncastInterface().GetPointerAddress());
            Assert.Equal(d.GetPointerAddress(), b.DowncastInterface().GetPointerAddress());

            if (ExecuteCodeGen)
            {
                InterpretInteractive($@"
Variable global = Process.Current.GetGlobal(""{DefaultModuleName}!multiClassInheritanceTest2"");
var d = new MultiClassInheritanceD(global);
var a = d.BaseClass_MultiClassInheritanceA;
var b = d.BaseClass_MultiClassInheritanceB;
AreEqual(42, d.d);
AreEqual(42, a.a);
AreEqual(42, b.b);
IsTrue(a.GetDowncast() is MultiClassInheritanceD);
IsTrue(b.GetDowncast() is MultiClassInheritanceD);
AreEqual(42, a.As<MultiClassInheritanceB>().b);
                    ");
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 開始ボタン押下時
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnStart_Click(object sender, EventArgs e)
        {
            if (this.chkExt.CheckedItems.Count == 0)
            {
                MessageBox.Show("検証する拡張子を1つ以上選択してください", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if (System.IO.Directory.Exists(this.txtSrcFolder.Text) == false)
            {
                MessageBox.Show("対象のフォルダを指定してください", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (MessageBox.Show("テキストファイル内の全角・半角変換を行います" + Environment.NewLine + "(0~9→0~9、A~Z→A~Z、()→()、/→/)" + Environment.NewLine + "よろしいですか?", "確認", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No)
            {
                return;
            }
            EnableControl(false);

            try
            {
                DateTime dtDate  = DateTime.Now;
                string[] strExts = new string[0];
                int      iCount  = 0;
                foreach (var strExt in this.chkExt.CheckedItems)
                {
                    // CheckedListbox内のチェックの付いた値のみ配列に代入する
                    iCount += 1;
                    Array.Resize(ref strExts, iCount);
                    strExts[iCount - 1] = (string)strExt;
                }
                var strFiles = DefaultModule.GetFilesMostDeep(this.txtSrcFolder.Text, strExts);

                foreach (var strFile in strFiles)
                {
                    Application.DoEvents();
                    string strOutFile = System.IO.Path.GetDirectoryName(strFile) + "\\" + System.IO.Path.GetFileNameWithoutExtension(strFile) + "_" + dtDate.ToString("yyyyMMdd_HHmmss") + System.IO.Path.GetExtension(strFile);

                    using (var sr = new System.IO.StreamReader(strFile, System.Text.Encoding.GetEncoding("Shift-JIS")))
                    {
                        string strValue = sr.ReadToEnd();
                        using (var sw = new System.IO.StreamWriter(strOutFile, false, System.Text.Encoding.GetEncoding("Shift-JIS")))
                        {
                            sw.Write(ConvertToNarrow(strValue));
                        }
                    }
                }

                MessageBox.Show("テキストファイル内の全角・半角変換が終了しました", "確認", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                DefaultModule.OutputLogFile("発生場所:" + System.Reflection.MethodBase.GetCurrentMethod() + Environment.NewLine + ex.Message + Environment.NewLine + ex.StackTrace);
                MessageBox.Show("発生場所:" + System.Reflection.MethodBase.GetCurrentMethod() + Environment.NewLine + ex.Message + Environment.NewLine + ex.StackTrace, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                EnableControl(true);
            }
        }
Exemplo n.º 4
0
        public int CreateModule(EditModuleModel editModule, string[] selectedLicenses)
        {
            DefaultModule defaultModule = new DefaultModule()
            {
                Name        = editModule.Name,
                Description = editModule.Description,
                Price       = editModule.Price
            };

            defaultModuleRepository.Save(defaultModule);
            if (selectedLicenses != null)
            {
                var defaultLicenses = defaultLicenseRepository.GetByNames(selectedLicenses.ToList());
                foreach (var license in defaultLicenses)
                {
                    license.DefaultModules.Add(defaultModule);
                }
                defaultLicenseRepository.Save(defaultLicenses.ToList());
                var licenses = licenseRepository.GetByDefaultLicenseIds(defaultLicenses.Select(m => m.Id).ToArray());
                foreach (var license in licenses)
                {
                    Module module = new Module()
                    {
                        DefaultModuleId = defaultModule.Id,
                        Price           = defaultModule.Price,
                        LicenseId       = license.Id,
                        IsActive        = false,
                    };
                    moduleRepository.Save(module);
                }
            }
            return(defaultModule.Id);
        }
Exemplo n.º 5
0
        public void VirtualMultiClassInheritance2()
        {
            Variable e = DefaultModule.GetVariable("virtualMultiClassInheritanceTest2");

            Assert.Equal(42, (int)e.GetField("e"));
            Assert.Equal(42, (double)e.GetField("b"));
            Assert.Equal(42, (float)e.GetField("c"));
            Assert.Equal(42, (sbyte)e.GetField("a"));
            Variable a = e.GetBaseClass("VirtualMultiClassInheritanceA");

            Assert.Equal(42, (sbyte)a.GetField("a"));
            Variable b = e.GetBaseClass("VirtualMultiClassInheritanceB");

            Assert.Equal(42, (double)b.GetField("b"));
            Variable ba = b.GetBaseClass("VirtualMultiClassInheritanceA");

            Assert.Equal(42, (sbyte)ba.GetField("a"));
            Variable c = e.GetBaseClass("VirtualMultiClassInheritanceC");

            Assert.Equal(42, (float)c.GetField("c"));
            Variable ca = c.GetBaseClass("VirtualMultiClassInheritanceA");

            Assert.Equal(42, (sbyte)ca.GetField("a"));
            Assert.Equal(a.GetPointerAddress(), ba.GetPointerAddress());
            Assert.Equal(ca.GetPointerAddress(), ba.GetPointerAddress());
            Assert.Equal(e.GetPointerAddress(), b.DowncastInterface().GetPointerAddress());
            Assert.Equal(ba.GetPointerAddress(), ba.DowncastInterface().GetPointerAddress());
            Assert.Equal(e.GetPointerAddress(), c.DowncastInterface().GetPointerAddress());
            Assert.Equal(ca.GetPointerAddress(), ca.DowncastInterface().GetPointerAddress());

            if (ExecuteCodeGen)
            {
                InterpretInteractive($@"
Variable global = Process.Current.GetGlobal(""{DefaultModuleName}!virtualMultiClassInheritanceTest2"");
var e = new VirtualMultiClassInheritanceE(global);
var a = e.BaseClass_VirtualMultiClassInheritanceA;
var b = e.BaseClass_VirtualMultiClassInheritanceB;
var ba = b.BaseClass;
var c = e.BaseClass_VirtualMultiClassInheritanceC;
var ca = c.BaseClass;
AreEqual(42, e.e);
AreEqual(42, a.a);
AreEqual(42, b.b);
AreEqual(42, ba.a);
AreEqual(42, c.c);
AreEqual(42, ca.a);
IsTrue(a.GetDowncast() is VirtualMultiClassInheritanceE);
IsTrue(b.GetDowncast() is VirtualMultiClassInheritanceE);
IsTrue(ba.GetDowncast() is VirtualMultiClassInheritanceE);
IsTrue(c.GetDowncast() is VirtualMultiClassInheritanceE);
IsTrue(ca.GetDowncast() is VirtualMultiClassInheritanceE);
AreEqual(42, b.As<VirtualMultiClassInheritanceC>().c);
AreEqual(42, a.As<VirtualMultiClassInheritanceB>().b);
AreEqual(42, ba.As<VirtualMultiClassInheritanceC>().c);
AreEqual(42, ca.As<VirtualMultiClassInheritanceB>().b);
                    ");
            }
        }
 public int Save(DefaultModule module)
 {
     using (var session = sessionFactory.OpenSession())
     {
         using (var t = session.BeginTransaction())
         {
             session.Save(module);
             t.Commit();
             return(module.Id);
         }
     }
 }
Exemplo n.º 7
0
        public void ReadingFloatPointTypes()
        {
            Variable doubleTest = DefaultModule.GetVariable("doubleTest");

            Assert.Equal(3.5, (double)doubleTest.GetField("d"));
            Assert.Equal(2.5, (float)doubleTest.GetField("f"));
            Assert.Equal(5, (int)doubleTest.GetField("i"));

            Variable doubleTest2 = Process.Current.GetGlobal($"{DefaultModuleName}!doubleTest");

            Assert.Equal(doubleTest.GetPointerAddress(), doubleTest2.GetPointerAddress());
            Assert.Equal(doubleTest.GetCodeType(), doubleTest2.GetCodeType());
        }
Exemplo n.º 8
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            var module = new DefaultModule();
            var kernel = new StandardKernel(module);

            kernel.Unbind <ModelValidatorProvider>();
            DependencyResolver.SetResolver(new NinjectDependencyResolver(kernel));
        }
Exemplo n.º 9
0
        public void UserTypeAutoCast()
        {
            Execute_AutoCast(() =>
            {
                Variable doubleTestVariable = DefaultModule.GetVariable("doubleTest");

                Assert.IsType <DoubleTest>(doubleTestVariable);

                DoubleTest doubleTest = (DoubleTest)doubleTestVariable;

                Assert.Equal(3.5, doubleTest.d);
                Assert.Equal(2.5, doubleTest.f);
                Assert.Equal(5, doubleTest.i);
            });
        }
Exemplo n.º 10
0
        public void TestReadingBuiltinTypes()
        {
            Variable var = DefaultModule.GetVariable("builtinTypesTest");

            TestReading <bool>(var.GetField("b"), false);
            TestReading <sbyte>(var.GetField("i8"), 42);
            TestReading <short>(var.GetField("i16"), 42);
            TestReading <int>(var.GetField("i32"), 42);
            TestReading <long>(var.GetField("i64"), 42);
            TestReading <byte>(var.GetField("u8"), 42);
            TestReading <ushort>(var.GetField("u16"), 42);
            TestReading <uint>(var.GetField("u32"), 42);
            TestReading <ulong>(var.GetField("u64"), 42);
            TestReading <float>(var.GetField("f32"), 42);
            TestReading <double>(var.GetField("f64"), 42);
        }
Exemplo n.º 11
0
        public void CheckCodeFunction()
        {
            StackFrame   defaultTestCaseFrame    = GetFrame($"{DefaultModuleName}!DefaultTestCase");
            CodeFunction defaultTestCaseFunction = new CodeFunction(defaultTestCaseFrame.InstructionOffset);

            Assert.NotEqual(0U, defaultTestCaseFunction.Address);
            Assert.NotEqual(0U, defaultTestCaseFunction.FunctionDisplacement);
            Assert.Equal($"{DefaultModuleName}!DefaultTestCase", defaultTestCaseFunction.FunctionName);
            Assert.Equal($"DefaultTestCase", defaultTestCaseFunction.FunctionNameWithoutModule);
            Assert.Equal(Process.Current, defaultTestCaseFunction.Process);
            Assert.Contains(MainSourceFileName, defaultTestCaseFunction.SourceFileName.ToLower());
            Assert.NotEqual(0U, defaultTestCaseFunction.SourceFileLine);
            Console.WriteLine("SourceFileDisplacement: {0}", defaultTestCaseFunction.SourceFileDisplacement);

            Variable codeFunctionVariable = DefaultModule.GetVariable($"{DefaultModuleName}!defaultTestCaseAddress");

            Assert.True(codeFunctionVariable.GetCodeType().IsPointer);

            CodeFunction codeFunction = new CodePointer <CodeFunction>(new NakedPointer(codeFunctionVariable)).Element;

            Assert.Equal($"{DefaultModuleName}!DefaultTestCase", codeFunction.FunctionName);
        }
        /// <summary>
        /// SQLite.DataReaderをList形式に変換する
        /// </summary>
        /// <param name="sqliteDataReader"></param>
        /// <returns></returns>
        private List <DefaultModule> ReaderToList(SQLiteDataReader sqliteDataReader)
        {
            List <DefaultModule> defaultModules = new List <DefaultModule>();

            while (sqliteDataReader.Read())
            {
                DefaultModule defaultModule = new DefaultModule();

                defaultModule.id               = dataReader["MODULE_ID"].ToString();
                defaultModule.moduleTypeId     = dataReader["MODULE_TYPE_ID"].ToString();
                defaultModule.rectangle        = dataReader["RECT_FLG"].ToString();
                defaultModule.widthSize1       = double.Parse(dataReader["WIDTH_SIZE1"].ToString());
                defaultModule.widthSize2       = double.Parse(dataReader["WIDTH_SIZE2"].ToString());
                defaultModule.heightSize1      = double.Parse(dataReader["HEIGHT_SIZE1"].ToString());
                defaultModule.heightSize2      = double.Parse(dataReader["HEIGHT_SIZE2"].ToString());
                defaultModule.lowVirticalSize  = double.Parse(dataReader["LOW_VIR_SIZE"].ToString());
                defaultModule.highVirticalSize = double.Parse(dataReader["HI_VIR_SIZE"].ToString());
                defaultModule.direction        = dataReader["DIRECTION"].ToString();

                defaultModules.Add(defaultModule);
            }
            return(defaultModules);
        }
Exemplo n.º 13
0
        public void GettingClassStaticMember()
        {
            Variable staticVariable = DefaultModule.GetVariable("MyTestClass::staticVariable");

            Assert.Equal(1212121212, (int)staticVariable);
        }
Exemplo n.º 14
0
        /// <summary>
        /// 開始ボタン押下時
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnStart_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.chkExt.CheckedItems.Count == 0)
                {
                    MessageBox.Show("検証する拡張子を1つ以上選択してください", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                if (System.IO.Directory.Exists(this.txtSrcFolder.Text) == false)
                {
                    MessageBox.Show("対象の画像フォルダを指定してください", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                if (System.IO.Directory.Exists(this.txtLogFolder.Text) == false)
                {
                    MessageBox.Show("対象のログフォルダを指定してください", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (MessageBox.Show("イメージ破損チェックを開始します" + Environment.NewLine + "よろしいですか?", "確認", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No)
                {
                    return;
                }
                EnableControl(false);

                this.lstResult.Items.Clear();
                DefaultModule.WriteLstResult(this.lstResult, "画像フォルダ:" + this.txtSrcFolder.Text);
                DefaultModule.WriteLstResult(this.lstResult, "ログフォルダ:" + this.txtLogFolder.Text);
                DefaultModule.WriteLstResult(this.lstResult, "対象色:" + this.cpTargetColor.Value.ToString());
                DefaultModule.WriteLstResult(this.lstResult, "エラーとするピクセル数:" + this.numPixel.Value);
                DefaultModule.WriteLstResult(this.lstResult, "走査方向:" + this.cmbDirection.SelectedItem);
                if (this.cmbDirection.SelectedIndex == 0)
                {
                    // 縦
                    DefaultModule.WriteLstResult(this.lstResult, "起点横:" + this.numPointX.Value);
                }
                else
                {
                    // 縦
                    DefaultModule.WriteLstResult(this.lstResult, "起点縦:" + this.numPointY.Value);
                }
                DefaultModule.WriteLstResult(this.lstResult, "イメージ破損チェック開始:" + this.txtLogFolder.Text);
                string dtDateTime = DateTime.Now.ToString("yyyyMMdd_HHmmss");
                string strLogFile = this.txtLogFolder.Text + "\\" + dtDateTime + ".log";

                string[] strExts = new string[0];
                int      iCount  = 0;
                foreach (var strExt in this.chkExt.CheckedItems)
                {
                    // CheckedListbox内のチェックの付いた値のみ配列に代入する
                    iCount += 1;
                    Array.Resize(ref strExts, iCount);
                    strExts[iCount - 1] = (string)strExt;
                    DefaultModule.WriteLstResult(this.lstResult, "対象画像形式:" + (string)strExt);
                }

                var strFiles = DefaultModule.GetFilesMostDeep(this.txtSrcFolder.Text, strExts);
                DefaultModule.WriteLstResult(this.lstResult, strFiles.Count() + "ファイル存在確認");
                foreach (var strFile in strFiles)
                {
                    Application.DoEvents();
                    if (blnAbort == true)
                    {
                        if (MessageBox.Show("処理を中止しますか?", "確認", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                        {
                            blnAbort = false;
                            DefaultModule.WriteLstResult(this.lstResult, "処理中断");
                            DefaultModule.OutputListLog(this.lstResult, strLogFile, System.Text.Encoding.GetEncoding("Shift-JIS"));

                            return;
                        }
                        else
                        {
                            blnAbort = false;
                        }
                    }
                    if (CheckCorrupt(strFile) == false)
                    {
                        DefaultModule.WriteLstResult(this.lstResult, "破損している可能性あり:" + strFile, DefaultModule.ResultMark.ErrorMark);
                        continue;
                    }
                    else
                    {
                        DefaultModule.WriteLstResult(this.lstResult, "正常:" + strFile);
                    }
                }

                DefaultModule.WriteLstResult(this.lstResult, "イメージ破損チェック終了");
                DefaultModule.OutputListLog(this.lstResult, strLogFile, System.Text.Encoding.GetEncoding("Shift-JIS"));
                MessageBox.Show("イメージ破損チェックが終了しました", "確認", MessageBoxButtons.OK, MessageBoxIcon.Information);
                EnableControl(true);
            }
            catch (Exception ex)
            {
                DefaultModule.OutputLogFile("発生場所:" + System.Reflection.MethodBase.GetCurrentMethod() + Environment.NewLine + ex.Message + Environment.NewLine + ex.StackTrace);
                MessageBox.Show("発生場所:" + System.Reflection.MethodBase.GetCurrentMethod() + Environment.NewLine + ex.Message + Environment.NewLine + ex.StackTrace, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                EnableControl(true);
            }
        }