public void GetCubeReturnsSpecifiedCube()
        {
            // Cube for B5 is the virus one
            var cube = DataCube.GetCube(5, new GoRogue.Coord(20, 13));

            Assert.That(cube.Title, Is.EqualTo("Virus"));
            Assert.That(cube.Text, Does.Contain("virus"));

            // Test boundary cases
            var firstCube = DataCube.GetCube(2, new GoRogue.Coord(1, 13));

            Assert.That(firstCube.Title, Is.EqualTo("First Day"));

            var lastCube = DataCube.GetCube(9, new GoRogue.Coord(58, 23));

            Assert.That(lastCube.Title, Is.EqualTo("Too Late"));
        }
Beispiel #2
0
        public void SerializeAndDeserializePlayer()
        {
            var expected = new Player();

            var shieldDamage = 30;

            expected.Acquire(Weapon.GravityCannon);
            expected.Acquire(Weapon.InstaTeleporter);
            expected.CurrentWeapon = Weapon.GravityCannon;
            expected.GotDataCube(DataCube.GetCube(3, new GoRogue.Coord(0, 0)));
            expected.Shield.Damage(shieldDamage);

            var serialized = Serializer.Serialize(expected);
            var actual     = Serializer.Deserialize <Player>(serialized);

            Assert.That(actual, Is.Not.Null);

            this.AssertBasicPropertiesEqual(actual, expected);
            Assert.That(actual.CanFireGravityCannon, Is.EqualTo(expected.CanFireGravityCannon));
            Assert.That(actual.CanMove, Is.EqualTo(expected.CanMove));
            Assert.That(actual.CurrentHealth, Is.EqualTo(expected.CurrentHealth));
            AssertCollectionsEqual(actual.DataCubes, expected.DataCubes);
            Assert.That(actual.Defense, Is.EqualTo(expected.Defense));
            Assert.That(actual.DirectionFacing, Is.EqualTo(expected.DirectionFacing));
            Assert.That(actual.IsDead, Is.EqualTo(expected.IsDead));
            Assert.That(actual.Strength, Is.EqualTo(expected.Strength));
            Assert.That(actual.TotalHealth, Is.EqualTo(expected.TotalHealth));
            Assert.That(actual.VisionRange, Is.EqualTo(expected.VisionRange));
            Assert.That(actual.Shield.CurrentShield, Is.EqualTo(KlogborgShield.MaxShield - shieldDamage));

            Assert.That(actual.Weapons.Count, Is.EqualTo(expected.Weapons.Count));
            foreach (var weapon in expected.Weapons)
            {
                Assert.That(actual.Weapons.Contains(weapon));
            }
        }
 public void GetCubeThrowsIfFloorIsOutOfRange(int floorNum)
 {
     Assert.Throws <InvalidOperationException>(() => DataCube.GetCube(floorNum, GoRogue.Coord.NONE));
 }