Example #1
0
        public void largestProductOfNAdjacentIntegers_ReturnsX()
        {
            GridAnalyser analyser = new GridAnalyser();
            var          result   = analyser.largestProductOfNAdjacentIntegers(QuExampleGrid, 3);

            var expected = 667755; // Unverified

            Assert.AreEqual(expected, result);
        }
Example #2
0
        public void AnalyseRows_FullQuExampleGrid_ReturnsX()
        {
            GridAnalyser analyser = new GridAnalyser();

            analyser.searchGrid       = QuExampleGrid;
            analyser.adjacentIntegers = 3;

            var expected = 476982; // Unverified
            var result   = analyser.AnalyseRows();

            Assert.AreEqual(expected, result);
        }
Example #3
0
        public void AnalyseRow_LastRow_Returns66880()
        {
            GridAnalyser analyser = new GridAnalyser();

            analyser.searchGrid       = QuExampleGrid;
            analyser.adjacentIntegers = 3;

            var expected = 66880; // (76,44,20)
            var result   = analyser.AnalyseRow(9);

            Assert.AreEqual(expected, result);
        }
Example #4
0
        public void AnalyseRow_FirstRow_Returns81092()
        {
            GridAnalyser analyser = new GridAnalyser();

            analyser.searchGrid       = QuExampleGrid;
            analyser.adjacentIntegers = 3;

            var expected = 81092; // (22,97,38)
            var result   = analyser.AnalyseRow(0);

            Assert.AreEqual(expected, result);
        }
Example #5
0
        public void FindRowProduct_FirstRowSecondSection_Returns352()
        {
            GridAnalyser analyser = new GridAnalyser();

            analyser.searchGrid       = QuExampleGrid;
            analyser.adjacentIntegers = 3;

            var product  = analyser.FindRowProduct(0, 3, 3);
            var expected = 97 * 38 * 15;

            Assert.AreEqual(expected, product);
        }
Example #6
0
        public void FindRowProduct_FirstRowFirstSection_Returns55290()
        {
            GridAnalyser analyser = new GridAnalyser();

            analyser.searchGrid       = QuExampleGrid;
            analyser.adjacentIntegers = 3;

            var product  = analyser.FindRowProduct(0, 0, 3);
            var expected = 8 * 2 * 22;

            Assert.AreEqual(expected, product);
        }
Example #7
0
        public void AnalyseRLDiagonalSection_LastColumn_Returns436011()
        {
            GridAnalyser analyser = new GridAnalyser();

            analyser.searchGrid       = QuExampleGrid;
            analyser.adjacentIntegers = 3;

            var expected = 436011; // Verified - (49,49,95)
            var result   = analyser.AnalyseRLDiagonalSection(0, 9);

            Assert.AreEqual(expected, result);
        }
Example #8
0
        public void AnalyseLRDiagonalSection_FirstColumn_Returns228095()
        {
            GridAnalyser analyser = new GridAnalyser();

            analyser.searchGrid       = QuExampleGrid;
            analyser.adjacentIntegers = 3;

            var expected = 228095; // Verified - (49,49,95)
            var result   = analyser.AnalyseLRDiagonalSection(0, 0);

            Assert.AreEqual(expected, result);
        }
Example #9
0
        public void FindRLDiagonalProduct_TopRightSection_Returns130500()
        {
            GridAnalyser analyser = new GridAnalyser();

            analyser.searchGrid       = QuExampleGrid;
            analyser.adjacentIntegers = 3;

            var expected = 75 * 60 * 29;
            var result   = analyser.FindRLDiagonalProduct(0, 9, 3);

            Assert.AreEqual(expected, result);
        }
Example #10
0
        public void FindLRDiagonalProduct_TopLeftSection_Returns12152()
        {
            GridAnalyser analyser = new GridAnalyser();

            analyser.searchGrid       = QuExampleGrid;
            analyser.adjacentIntegers = 3;

            var expected = 8 * 49 * 31;
            var result   = analyser.FindLRDiagonalProduct(0, 0, 3);

            Assert.AreEqual(expected, result);
        }
Example #11
0
        public void FindLRDiagonalProduct_BottomLeftSection_Returns84755()
        {
            GridAnalyser analyser = new GridAnalyser();

            analyser.searchGrid       = QuExampleGrid;
            analyser.adjacentIntegers = 3;

            var expected = 67 * 55 * 23;
            var result   = analyser.FindLRDiagonalProduct(7, 0, 3);

            Assert.AreEqual(expected, result);
        }
Example #12
0
        public void AnalyseColumn_LastColumn_Returns463275()
        {
            GridAnalyser analyser = new GridAnalyser();

            analyser.searchGrid       = QuExampleGrid;
            analyser.adjacentIntegers = 3;

            var expected = 463275; // Verified - (75,87,71)
            var result   = analyser.AnalyseColumn(9);

            Assert.AreEqual(expected, result);
        }
Example #13
0
        public void AnalyseColumn_FirstColumn_Returns206388()
        {
            GridAnalyser analyser = new GridAnalyser();

            analyser.searchGrid       = QuExampleGrid;
            analyser.adjacentIntegers = 3;

            var expected = 206388; // Verified - (49,81,52)
            var result   = analyser.AnalyseColumn(0);

            Assert.AreEqual(expected, result);
        }
Example #14
0
        public void FindColumnProduct_FirstColunSecondSection_Returns27456()
        {
            GridAnalyser analyser = new GridAnalyser();

            analyser.searchGrid       = QuExampleGrid;
            analyser.adjacentIntegers = 3;

            var product  = analyser.FindColumnProduct(0, 3, 3);
            var expected = 52 * 22 * 24;

            Assert.AreEqual(expected, product);
        }
Example #15
0
        public void FindColumnProduct_FirstColumnFirstSection_Returns31752()
        {
            GridAnalyser analyser = new GridAnalyser();

            analyser.searchGrid       = QuExampleGrid;
            analyser.adjacentIntegers = 3;

            var product  = analyser.FindColumnProduct(0, 0, 3);
            var expected = 8 * 49 * 81;

            Assert.AreEqual(expected, product);
        }
Example #16
0
        /// <summary>
        /// Initialize script here. This is essentially "free" computing, and wont affect the program average runtime...
        /// </summary>
        public Program()
        {
            //Compile core variables
            manualProgram = new ManualProgram(this);
            gridAnalyser  = new GridAnalyser(this);
            output        = new Output(this, programTag);
            timer         = gridAnalyser.GetTimer(programTag);
            diagnostics   = new Diagnostics(this, diagnosticTag);
            diagnostics.Start();

            //Add routines here
            routines.Add(new Logistics(this, logisticsTag));
            routines.Add(new Hangar(this, hangarTag));
            routines.Add(new Factory(this, factoryTag));
            //routines.Add(new AirlockManager(this, airlockTag));

            InitRoutines();

            //Set how often this runs
            Runtime.UpdateFrequency = UpdateFrequency.Update1;
        }