コード例 #1
0
        public void equality()
        {
            GameResourceType type1 = getTestGameResourceType(id: 1);
            GameResourceType type2 = getTestGameResourceType(id: 2);
            GameResourceType typeN = null;

            SingularYield yield1 = getTestSingularGameResourceYield(type1, 100);
            SingularYield yield2 = getTestSingularGameResourceYield(type1, 200);
            SingularYield yield3 = getTestSingularGameResourceYield(type2, 300);
            SingularYield yieldN = getTestSingularGameResourceYield(typeN, 400);

            Assert.AreEqual(yield1, yield1);
            Assert.AreEqual(yield1, yield2);
            Assert.AreNotEqual(yield1, yield3);
            Assert.AreNotEqual(yield1, yieldN);

            Assert.That(yield1 == yield1);
            Assert.That(yield1 == yield2);
            Assert.That(yield2 == yield1);
            Assert.That(yield1 != yield3);
            Assert.That(yield1 != yieldN);
            Assert.That(yield3 != yield1);
            Assert.That(yieldN != yield1);

            Assert.That(yield1.Equals((object)yield2));
            Assert.That(yield1.Equals((object)type1));
            Assert.That(!yield1.Equals((object)yield3));
            Assert.That(!yield1.Equals((object)null));
            Assert.That(!yield1.Equals((SingularYield?)null));
        }
コード例 #2
0
ファイル: ResourceYield.cs プロジェクト: Kevok93/SpaceGame
        public void finishedYieldWrappers()
        {
            var returnType1 = GameResourceTest.getTestGameResourceType();
            var yield1      = new SingularYield(returnType1, 500);

            var unfinishedYield = GetTestResourceYield(yield1);
            var finishedYield   = unfinishedYield.readOnly();

            Assert.AreEqual(
                unfinishedYield.Values,
                finishedYield.Values
                );
        }
コード例 #3
0
ファイル: ResourceYield.cs プロジェクト: Kevok93/SpaceGame
        public void initFinished()
        {
            var returnType1 = GameResourceTest.getTestGameResourceType();
            var yield1      = new SingularYield(returnType1, 500);

            ResourceYield?finishedYield = null;

            Assert.DoesNotThrow(
                () => finishedYield = GetTestFinishedGameResourceYield(yield1)
                );

            var yieldT = finishedYield?.getYield(returnType1);

            Assert.That(finishedYield?.Count, Is.EqualTo(1));
            Assert.That(finishedYield, Contains.Key(returnType1));
            Assert.That(finishedYield?[returnType1], Is.EqualTo(500));
            Assert.That(yieldT?.value, Is.EqualTo(500));
            Assert.That(yieldT?.type, Is.EqualTo(returnType1));
        }
コード例 #4
0
ファイル: ResourceYield.cs プロジェクト: Kevok93/SpaceGame
        public void initUnfinished()
        {
            var returnType1 = GameResourceTest.getTestGameResourceType();
            var yield1      = new SingularYield(returnType1, 500);

            MutableResourceYield?_unfinishedYield = null;

            Assert.DoesNotThrow(
                () => _unfinishedYield = GetTestResourceYield(yield1)
                );
            MutableResourceYield unfinishedYield = _unfinishedYield.Value;

            var yieldT = unfinishedYield.getYield(returnType1);

            Assert.That(unfinishedYield.Count, Is.EqualTo(1));
            Assert.That(unfinishedYield, Contains.Key(returnType1));
            Assert.That(unfinishedYield[returnType1], Is.EqualTo(500));
            Assert.That(yieldT.value, Is.EqualTo(500));
            Assert.That(yieldT.type, Is.EqualTo(returnType1));
            unfinishedYield[returnType1] = 1000;
            Assert.That(unfinishedYield[returnType1], Is.EqualTo(1000));
            unfinishedYield.Set(yield1);
            Assert.That(unfinishedYield[returnType1], Is.EqualTo(500));
        }
コード例 #5
0
        public void math()
        {
            GameResourceType type1 = getTestGameResourceType(id: 1);
            GameResourceType type2 = getTestGameResourceType(id: 2);

            SingularYield yield1 = getTestSingularGameResourceYield(type: type1, value:  100);
            SingularYield yield2 = getTestSingularGameResourceYield(type: type1, value:  200);
            SingularYield yield3 = getTestSingularGameResourceYield(type: type2, value:  300);
            SingularYield yield4 = getTestSingularGameResourceYield(type: type1, value: -400);

            SingularYield sum1 = yield1 + yield2;

            Assert.AreEqual(sum1.type, type1);
            Assert.AreEqual(sum1.value, 300);

            SingularYield sum2 = yield1 + 500;

            Assert.AreEqual(sum2.type, type1);
            Assert.AreEqual(sum2.value, 600);

            SingularYield sum3 = 500 + yield1;

            Assert.AreEqual(sum3.type, type1);
            Assert.AreEqual(sum3.value, 600);

            SingularYield sum4 = yield1 + yield4;

            Assert.AreEqual(sum4.type, type1);
            Assert.AreEqual(sum4.value, -300);

            SingularYield diff1 = yield2 - yield1;

            Assert.AreEqual(diff1.type, type1);
            Assert.AreEqual(diff1.value, 100);

            SingularYield diff2 = yield1 - yield4;

            Assert.AreEqual(diff2.type, type1);
            Assert.AreEqual(diff2.value, 500);

            SingularYield diff3 = yield4 - 100;

            Assert.AreEqual(diff3.type, type1);
            Assert.AreEqual(diff3.value, -500);

            SingularYield diff4 = 500 - yield1;

            Assert.AreEqual(diff4.type, type1);
            Assert.AreEqual(diff4.value, 400);

            SingularYield prod1 = yield1 * 2;

            Assert.AreEqual(prod1.type, type1);
            Assert.AreEqual(prod1.value, 200);

            SingularYield prod2 = yield1 *     -1;

            Assert.AreEqual(prod2.type, type1);
            Assert.AreEqual(prod2.value, -100);

            Assert.Throws <InvalidCastException>(() => yield1 += yield3);
            Assert.Throws <InvalidCastException>(() => yield1 += yield3);
            Assert.Throws <InvalidCastException>(() => yield1 -= yield3);
            Assert.AreEqual(yield1.value, 100);
        }
コード例 #6
0
ファイル: ResourceYield.cs プロジェクト: Kevok93/SpaceGame
        public void addition()
        {
            GameResourceType type1 = GameResourceTest.getTestGameResourceType(id: 1);
            GameResourceType type2 = GameResourceTest.getTestGameResourceType(id: 2);
            GameResourceType typeN = null;

            SingularYield singleYield1 = getTestSingularGameResourceYield(type1, 100);
            SingularYield singleYield2 = getTestSingularGameResourceYield(type1, 200);
            SingularYield singleYield3 = getTestSingularGameResourceYield(type1, -300);
            SingularYield singleYield4 = getTestSingularGameResourceYield(type2, 400);

            ResourceYield yield1 = GetTestFinishedGameResourceYield(
                singleYield1
                );
            ResourceYield yield2 = GetTestFinishedGameResourceYield(
                singleYield2,
                singleYield4
                );
            ResourceYield yield3 = GetTestFinishedGameResourceYield(
                singleYield3
                );

            MutableResourceYield yieldU1 = new MutableResourceYield();
            MutableResourceYield yieldU2 = yield1.cloneUnlocked();

            ResourceYield sumI = yield1.combinePure(NOTHING_CONST);

            Assert.That(sumI.Count, Is.EqualTo(1));
            Assert.That(sumI, Contains.Key(type1));
            Assert.That(sumI[type1], Is.EqualTo(100));

            ResourceYield sum1 = yield1.combinePure(yield2);

            Assert.That(sum1.Count, Is.EqualTo(2));
            Assert.That(sum1, Contains.Key(type1));
            Assert.That(sum1, Contains.Key(type2));
            Assert.That(sum1[type1], Is.EqualTo(300));
            Assert.That(sum1[type2], Is.EqualTo(400));
            //Purity (A)
            Assert.That(yield1.Count, Is.EqualTo(1));
            Assert.That(yield1, Contains.Key(type1));
            Assert.That(yield1[type1], Is.EqualTo(100));

            ResourceYield sum2 = yield1.combinePure(yield3);

            Assert.That(sum2.Count, Is.EqualTo(1));
            Assert.That(sum2, Contains.Key(type1));
            Assert.That(sum2[type1], Is.EqualTo(-200));
            //Purity (B)
            Assert.That(yield3.Count, Is.EqualTo(1));
            Assert.That(yield3, Contains.Key(type1));
            Assert.That(yield3[type1], Is.EqualTo(-300));


            Assert.That(yieldU1.Count, Is.EqualTo(0));
            Assert.That(yieldU1, Does.Not.ContainKey(type1));
            ResourceYield sumU1 = yieldU1.combineDirty(yield1);

            Assert.That(yieldU1.Count, Is.EqualTo(1));
            Assert.That(yieldU1, Contains.Key(type1));
            Assert.That(yieldU1[type1], Is.EqualTo(100));
            Assert.That(yieldU1, Is.EqualTo(sumU1));


            Assert.That(yieldU2.Count, Is.EqualTo(1));
            Assert.That(yieldU2, Contains.Key(type1));
            Assert.That(yieldU2[type1], Is.EqualTo(100));
            ResourceYield sumU2 = yieldU2.combineDirty(yield2);

            Assert.That(yieldU2.Count, Is.EqualTo(2));
            Assert.That(yieldU2, Contains.Key(type1));
            Assert.That(yieldU2, Contains.Key(type2));
            Assert.That(yieldU2[type1], Is.EqualTo(300));
            Assert.That(yieldU2[type2], Is.EqualTo(400));
            Assert.That(yieldU2, Is.EqualTo(sumU2));
        }
コード例 #7
0
ファイル: ResourceYield.cs プロジェクト: Kevok93/SpaceGame
        public void scaling()
        {
            GameResourceType type1 = GameResourceTest.getTestGameResourceType(id: 1);
            GameResourceType type2 = GameResourceTest.getTestGameResourceType(id: 2);
            GameResourceType typeN = null;

            SingularYield singleYield1 = getTestSingularGameResourceYield(type: type1, value:  100);
            SingularYield singleYield2 = getTestSingularGameResourceYield(type: type1, value:  200);
            SingularYield singleYield4 = getTestSingularGameResourceYield(type: type2, value: -400);

            ResourceYield yield1 = GetTestFinishedGameResourceYield(
                singleYield1
                );
            ResourceYield yield2 = GetTestFinishedGameResourceYield(
                singleYield2,
                singleYield4
                );
            ResourceYield?yieldN1 = null;

            MutableResourceYield yieldU1 = new MutableResourceYield();
            MutableResourceYield yieldU2 = yield1.cloneUnlocked();

            MutableResourceYield prodI = yield1.scalePure(1);

            Assert.That(prodI.Count, Is.EqualTo(1));
            Assert.That(prodI, Contains.Key(type1));
            Assert.That(prodI[type1], Is.EqualTo(100));

            MutableResourceYield prod2 = yield2.scalePure(2);

            Assert.That(prod2.Count, Is.EqualTo(2));
            Assert.That(prod2, Contains.Key(type1));
            Assert.That(prod2[type1], Is.EqualTo(400));
            Assert.That(prod2, Contains.Key(type2));
            Assert.That(prod2[type2], Is.EqualTo(-800));
            //Purity (A)
            Assert.That(yield2.Count, Is.EqualTo(2));
            Assert.That(yield2, Contains.Key(type1));
            Assert.That(yield2[type1], Is.EqualTo(200));
            Assert.That(yield2, Contains.Key(type2));
            Assert.That(yield2[type2], Is.EqualTo(-400));

            ResourceYield prodN1 = yieldN1.scalePure(2);

            Assert.That(prodN1.Count, Is.EqualTo(0));
            Assert.That(prodN1, Does.Not.ContainKey(type1));

            ResourceYield prodN2 = yieldN1 * 2;

            Assert.That(prodN2.Count, Is.EqualTo(0));
            Assert.That(prodN2, Does.Not.ContainKey(type1));

            ResourceYield prodU1 = yieldU1.scaleDirty(2);

            Assert.That(prodU1.Count, Is.EqualTo(0));
            Assert.That(prodU1, Does.Not.ContainKey(type1));

            Assert.That(yieldU2.Count, Is.EqualTo(1));
            Assert.That(yieldU2, Contains.Key(type1));
            Assert.That(yieldU2[type1], Is.EqualTo(100));
            ResourceYield prodU2 = yieldU2.scaleDirty(2);

            Assert.That(yieldU2.Count, Is.EqualTo(1));
            Assert.That(yieldU2, Contains.Key(type1));
            Assert.That(yieldU2[type1], Is.EqualTo(200));
            Assert.That(yieldU2, Is.EqualTo(prodU2));
        }