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")); }
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)); }