Beispiel #1
0
        public void Generators_Work()
        {
            var genA = new GeneratorA(65);
            var genB = new GeneratorB(8921);

            Assert.Equal(1092455, genA.GetNextValue());
            Assert.Equal(430625591, genB.GetNextValue());
        }
Beispiel #2
0
        public void IntegrationTest_Passes()
        {
            int count = 40000000;
            var genA  = new GeneratorA(65);
            var genB  = new GeneratorB(8921);

            var actual = Judge.ScoreGeneratedValues(genA, genB, count);

            var genAPart2  = new GeneratorAPart2(65);
            var genBPart2  = new GeneratorBPart2(8921);
            var countPart2 = 5000000;

            var actualPart2 = Judge.ScoreGeneratedValues(genAPart2, genBPart2, countPart2);

            Assert.Equal(588, actual);
            Assert.Equal(309, actualPart2);
        }
Beispiel #3
0
            public static Duel Parse(string[] generatorLines)
            {
                GeneratorA a = null;
                GeneratorB b = null;

                // This really sucks
                for (int i = 0; i < generatorLines.Length; i++)
                {
                    var   groups        = generatorPattern.Match(generatorLines[i]).Groups;
                    var   name          = groups["name"].Value;
                    ulong startingValue = groups["startingValue"].Value.ParseUInt64();

                    if (name is "A")
                    {
                        a = new(startingValue);
                    }
                    else
                    {
                        b = new(startingValue);
                    }
                }

                return(new(a, b));
            }
Beispiel #4
0
 public Duel(GeneratorA a, GeneratorB b)
 {
     A = a;
     B = b;
 }