Beispiel #1
0
        public void ExecuteResultTest()
        {
            Atom firstAtom  = new Atom();
            Atom secondAtom = new Atom();
            Atom thirdAtom  = new Atom();
            Atom fourthAtom = new Atom();

            firstAtom.SetDiceGroup(FourDEightGroup());
            secondAtom.SetDiceGroup(TwoDTwentyGroup());
            thirdAtom.SetModifier(1000);
            fourthAtom.SetModifier(500);
            List <Atom> firstAtomList = new List <Atom> {
                firstAtom, secondAtom
            };
            List <Atom> secondAtomList = new List <Atom> {
                thirdAtom, fourthAtom
            };
            ExpressionResult er = new ExpressionResult();

            er.AddAtoms(firstAtomList);
            er.AddAtoms(secondAtomList);
            er.Roll();

            er.Value.Should().BeGreaterOrEqualTo(1500 + 4 + 2);
        }
Beispiel #2
0
        public void AddAtomListTest()
        {
            Atom firstAtom  = new Atom();
            Atom secondAtom = new Atom();
            Atom thirdAtom  = new Atom();
            Atom fourthAtom = new Atom();

            firstAtom.SetDiceGroup(FourDEightGroup());
            secondAtom.SetDiceGroup(TwoDTwentyGroup());
            thirdAtom.SetDiceGroup(TwoDTwentyGroup());
            fourthAtom.SetDiceGroup(FourDEightGroup());
            List <Atom> firstAtomList = new List <Atom> {
                firstAtom, secondAtom
            };
            List <Atom> secondAtomList = new List <Atom> {
                thirdAtom, fourthAtom
            };
            IEnumerable <Atom> atomsCombined = firstAtomList.Concat(secondAtomList);
            ExpressionResult   er            = new ExpressionResult();

            er.AddAtoms(firstAtomList);
            er.AddAtoms(secondAtomList);

            er.AtomList.Should().BeEquivalentTo(atomsCombined, opt => opt.WithStrictOrdering());
        }