public void DoesItParseAFileCorrectly()
        {
            var sp = ServerProperties.FromFileFormat(TestFile);

            Assert.AreEqual(true, sp.AllowFlight);
            Assert.AreEqual(false, sp.AllowNether);
            Assert.AreEqual(GameDifficulty.Hard, sp.Difficulty);
            Assert.AreEqual(true, sp.EnableQuery);
            Assert.AreEqual(false, sp.EnableRcon);
            Assert.AreEqual(true, sp.EnableCommandBlock);
            Assert.AreEqual(false, sp.ForceGamemode);
            Assert.AreEqual(GameMode.Adventure, sp.GameMode);
            Assert.AreEqual(false, sp.GenerateStructures);
            Assert.AreEqual("abc", sp.GeneratorSettings);
            Assert.AreEqual(true, sp.IsHardcore);
            Assert.AreEqual("my test name", sp.LevelName);
            Assert.AreEqual("xyz123", sp.LevelSeed);
            Assert.AreEqual("LARGEBIOMES", sp.LevelType);
            Assert.AreEqual(123, sp.MaxBuildHeight);
            Assert.AreEqual(5, sp.MaxPlayers);
            Assert.AreEqual(5678, sp.MaxTickTime);
            Assert.AreEqual(3456, sp.MaxWorldSize);
            Assert.AreEqual("A test file", sp.MessageOfTheDay);
            Assert.AreEqual(55, sp.NetworkCompressionThreshold);
            Assert.AreEqual(false, sp.OnlineMode);
            Assert.AreEqual(PermissionLevel.SinglePlayerCheats, sp.OpPermissionLevel);
            Assert.AreEqual(42, sp.PlayerIdleTimeout);
            Assert.AreEqual(true, sp.PreventProxyConnections);
            Assert.AreEqual(false, sp.Pvp);
            Assert.AreEqual(3, sp.QueryPort);
            Assert.AreEqual("secr3t", sp.RconPassword);
            Assert.AreEqual(456, sp.RconPort);
            Assert.AreEqual("none", sp.ResourcePack);
            Assert.AreEqual("sasdf3453xx", sp.ResourcePackDigest);
            Assert.AreEqual("localhost", sp.ServerIp);
            Assert.AreEqual(888, sp.ServerPort);
            Assert.AreEqual(false, sp.SnooperEnabled);
            Assert.AreEqual(false, sp.SpawnAnimals);
            Assert.AreEqual(false, sp.SpawnMonsters);
            Assert.AreEqual(false, sp.SpawnNpcs);
            Assert.AreEqual(32, sp.SpawnProtectionRadius);
            Assert.AreEqual(false, sp.UseNativeTransport);
            Assert.AreEqual(17, sp.ViewDistance);
            Assert.AreEqual(true, sp.WhiteList);
        }
 public void DoesNonBoolThrowError()
 {
     ServerProperties.FromFileFormat("pvp=hello");
 }
 public void DoesUnknownPropertyThrowError()
 {
     ServerProperties.FromFileFormat("cool-features-enabled=false");
 }
 public void DoesNonIntThrowError()
 {
     ServerProperties.FromFileFormat("max-players=bob");
 }