Esempio n. 1
0
        public CAGraphicalUIManager()
        {
            Application.ApplicationExit += new EventHandler(Application_ApplicationExit);

            // Create engine
            iEngine = new CAEngine(new string[] {});
        }
Esempio n. 2
0
        public void SetRuleWorks()
        {
            var caEngine = new CAEngine(10);

            caEngine.RuleNumber = 25;
            Assert.AreEqual(25, caEngine.RuleNumber);
        }
Esempio n. 3
0
        private void Open(string analyticaModelFullFileName)
        {
            if (_caEngine != null)
            {
                Close();
            }

            if (!File.Exists(analyticaModelFullFileName))
            {
                string message = $"File not found, {analyticaModelFullFileName}";
                Logger.Error(message);
                throw new FileNotFoundException(message);
            }

            _caEngine = new CAEngine
            {
                MaxMemoryLimit = 0
            };

            string modelName = _caEngine.OpenModel(analyticaModelFullFileName);

            if (modelName == string.Empty)
            {
                string message = $"Could not open Analytica model: {analyticaModelFullFileName}";
                Logger.Error(message);
                throw new Exception(message);
            }

            ModelName = modelName;
            AnalyticaModelFullFileName = analyticaModelFullFileName;
        }
 public CAPluginCrashAnalysisUi(CAEngine aEngine)
     : base(aEngine)
 {
     // Switch debug engine to UI mode
     aEngine.DebugEngine.UiMode = SymbianDebugLib.TDbgUiMode.EUiEnabled;
     RegisterMenuItems();
 }
Esempio n. 5
0
        public void NewEngineEmptyIsOK()
        {
            var caEngine = new CAEngine(0);
            // minimum 3 row length
            var expected = 3;

            Assert.AreEqual(expected, caEngine.RowLength);
        }
Esempio n. 6
0
        public void EmptyEngineCurrentRow()
        {
            var caEngine = new CAEngine(0);
            var expected = new int[3] {
                0, 0, 0
            };

            CollectionAssert.AreEqual(expected, caEngine.CurrentRow);
        }
Esempio n. 7
0
        public void SetNullRowReturnsUninitializedRow()
        {
            var caEngine = new CAEngine(10);

            caEngine.CurrentRow = null;
            var expected = new int[10];

            CollectionAssert.AreEqual(expected, caEngine.CurrentRow);
        }
Esempio n. 8
0
        public void SetRowZerosSetsRowZeros()
        {
            var caEngine = new CAEngine(10);

            caEngine.CurrentRow = new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
            var expected = new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };

            CollectionAssert.AreEqual(expected, caEngine.CurrentRow);
        }
Esempio n. 9
0
        public void SetRowWrongSizeDoesntChangeRow()
        {
            var caEngine = new CAEngine(10);

            caEngine.CurrentRow = new int[] { 0 };
            var expected = new int[10];

            CollectionAssert.AreEqual(expected, caEngine.CurrentRow);
        }
Esempio n. 10
0
        public void GetNextRowSuccess()
        {
            var caEngine = new CAEngine(3);

            caEngine.CurrentRow = new[] { 0, 0, 0 };
            caEngine.RuleNumber = 30;
            var expected = new[] { 0, 0, 0 };

            CollectionAssert.AreEqual(expected, caEngine.GetNextRow());
        }
Esempio n. 11
0
        public StandardSimulation()
        {
            _random           = new Random();
            _simulationEngine = new SimulationEngine(_random);

            _bitmapEngine            = new BitmapEngine(_simulationEngine);
            _inclusionsEngine        = new InclusionsEngine(_random, _simulationEngine);
            _CAEngine                = new CAEngine(_random, _simulationEngine);
            _MCEngine                = new MCEngine(_random, _simulationEngine);
            _fileEngine              = new FileEngine(_simulationEngine);
            _recrystallizationEngine = new RecrystallizationEngine(_random, _simulationEngine);
        }
Esempio n. 12
0
        private void Close()
        {
            if (_caEngine != null)
            {
                _caEngine.CloseModel();
                Marshal.ReleaseComObject(_caEngine);
                _caEngine = null;
            }

            ModelName = string.Empty;
            AnalyticaModelFullFileName = string.Empty;
        }
Esempio n. 13
0
        public void SetRuleOutOfBoundsGivesInBoundsRule()
        {
            var caEngine = new CAEngine(10);

            caEngine.RuleNumber = -1;
            Assert.AreEqual(0, caEngine.RuleNumber);
            caEngine.RuleNumber = 0;
            Assert.AreEqual(0, caEngine.RuleNumber);
            caEngine.RuleNumber = 255;
            Assert.AreEqual(255, caEngine.RuleNumber);
            caEngine.RuleNumber = 256;
            Assert.AreEqual(255, caEngine.RuleNumber);
        }
Esempio n. 14
0
        public CACommandLineUI(string[] aArguments, FSLog aLog)
        {
            iLog = aLog;

            // Create engine
            iEngine = new CAEngine(aArguments);

            // Work out if we are in verbose mode
            CheckArgsForVerbose();

            // Associate engine and UI with one another - this causes
            // plugins to be loaded
            iEngine.UIManager = this;
        }
Esempio n. 15
0
        private void GenerateCa()
        {
            // if we implement IDisposable we could dispose of the old CAEngine
            int CellSize = System.Convert.ToInt32(cellSize.Text);

            if (CellSize > this.caViewControl1.Width / 2)
            {
                CellSize = 1;
            }

            aCAEngine                    = new CAEngine(this.caViewControl1.Width / CellSize);
            aCAEngine.RuleNumber         = System.Convert.ToInt32(CANumberTB.Text);
            this.caViewControl1.Engine   = aCAEngine;
            this.caViewControl1.CellSize = CellSize;
            this.caViewControl1.Generate();
        }
Esempio n. 16
0
        public CAGraphicalUI(CAEngine aEngine)
        {
            iEngine = aEngine;

            // Must call this to ensure that UI components are created before
            // we load the crash analyser plugins.
            InitializeComponent();

            // Create tab manager to oversee all tab items
            iTabManager          = new TabStripManager(iTabStrip, this);
            iTabManager.AutoHide = true;

            // Listen for tab change events
            iMenuManager = new CAMenuManager(iEngine.Settings, iMenu, iTabManager);

            // Now it's safe to do this - the menu items that each plugin hangs off of
            // will have been created
            iEngine.UIManager = this;

            // Restore settings needed to position & size form
            iEngine.Settings.Load("GraphicalUI", this);
        }
Esempio n. 17
0
        public void NewEngineHasRowLength()
        {
            var caEngine = new CAEngine(10);

            Assert.AreEqual(10, caEngine.RowLength);
        }
Esempio n. 18
0
 public CAPluginNICD(CAEngine aEngine)
     : base(aEngine, "Non-interactive Crash Debugger")
 {
     iCrashDebuggerInfo = new CrashDebuggerInfo(DebugEngine);
 }
Esempio n. 19
0
 public CAPluginRawStack(CAEngine aEngine)
     : base(aEngine, KPluginName)
 {
     iStackEngine = new StackEngine(aEngine.DebugEngine);
 }
Esempio n. 20
0
 protected CAPlugin(CAEngine aEngine, string aName)
 {
     iEngine = aEngine;
     iName   = aName;
 }
 public CAPluginCrashAnalysis(CAEngine aEngine)
     : base(aEngine, KPluginName)
 {
     iCommandLineEngine = new CACmdLineEngine(this);
     iCrashItemEngine   = new CIEngine(aEngine.DebugEngine, this);
 }
Esempio n. 22
0
        public void NewEngineHasDefaultRule()
        {
            var caEngine = new CAEngine(10);

            Assert.AreEqual(CAEngine.DefaultRule, caEngine.RuleNumber);
        }