Skip to content

Commit

Permalink
Better tokenizing of PalWorldSettings.ini - Will allow commas and quo…
Browse files Browse the repository at this point in the history
…tes in string fields #4

Adding test cases
  • Loading branch information
mphelan committed Jan 29, 2024
1 parent eb68074 commit 93a4c46
Show file tree
Hide file tree
Showing 32 changed files with 340 additions and 29 deletions.
43 changes: 30 additions & 13 deletions src/lib/palworldsettings.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
from enum import Enum
from typing import Dict
import sys
import os
import re


DEATHPENALTY_VALUES = ["None", "Item", "ItemAndEquipment", "All"]


class StructTypes(Enum):
Expand All @@ -20,14 +23,25 @@ def __init__(self, option_name: str, struct: StructTypes, default_value):

def _typecast(self, value):
if self.struct == StructTypes.Int:
return int(value)
# work around if the values are a float
return int(float(value))
elif self.struct == StructTypes.Float:
return float(value)
elif self.struct == StructTypes.Bool:
if value.lower() == "false":
if value.lower() in ["false", "0"]:
return False
else:
return True
elif self.struct == StructTypes.Enum:
if len(value) == 1:
# Going to assume its an int
index_value = int(value)
if index_value >= len(DEATHPENALTY_VALUES):
raise AttributeError(f"{value} is not a valid option for DeathPenalty")
else:
return DEATHPENALTY_VALUES[index_value]
else:
return value
else:
return value

Expand All @@ -36,21 +50,21 @@ def is_default(self, value) -> bool:

def json_struct(self, value) -> Dict:
if self.struct == StructTypes.Enum:
deathpenalty_values = ["None", "Item", "ItemAndEquipment", "All"]

if len(value) == 1:
# Going to assume its an int
index_value = int(value)
if index_value > len(deathpenalty_values):
if index_value >= len(DEATHPENALTY_VALUES):
raise AttributeError(f"{value} is not a valid option for DeathPenalty")
else:
# Lets make this case insensitive
if value.lower() in [death.lower() for death in deathpenalty_values]:
index_value = [death.lower() for death in deathpenalty_values].index(value.lower())
if value.lower() in [death.lower() for death in DEATHPENALTY_VALUES]:
index_value = [death.lower() for death in DEATHPENALTY_VALUES].index(value.lower())
else:
raise AttributeError(f"{value} is not a valid option for DeathPenalty")
return {
self.struct.name: {
"value": f"EPalOptionWorldDeathPenalty::{deathpenalty_values[index_value]}",
"value": f"EPalOptionWorldDeathPenalty::{DEATHPENALTY_VALUES[index_value]}",
"enum_type": "EPalOptionWorldDeathPenalty"
}
}
Expand Down Expand Up @@ -132,18 +146,22 @@ def get_config_option(option_name: str) -> ConfigOption:

def generate_json_config(config: str) -> Dict:
json_config = {}
for config_option in config.split(','):
tokens = re.findall(r'(\w.*?)=([^"].*?|".*?")((?=,)|$)', config)
for key, value, _ in tokens:
try:
key, value = config_option.split('=', 1)
if key == "Difficulty":
continue
if '"' in value:
value = re.match(r'^"(.*)"$', value.strip()).group(1)
# if it was already escaped in the config
value = value.replace('\\"', '"')
config_properties = SettingStructs.get_config_option(key)
if not config_properties.is_default(value):
json_config[key] = config_properties.json_struct(value)
except AttributeError:
print("Error loading", key)
except ValueError:
print(f"Error parsing {config_option}")
print(f"Error parsing {key}:{value}")
print("Something looks malformed in your config")
print("Open a bug report with your config if issues persists")
return json_config
Expand All @@ -152,8 +170,7 @@ def generate_json_config(config: str) -> Dict:
def parse_config(config: str) -> str:
return config\
.replace("OptionSettings=(", "")\
.replace(")", "")\
.replace('"', "")
.strip(") ")


def load_palworldsettings(path: str) -> str:
Expand Down
32 changes: 16 additions & 16 deletions src/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,22 @@ def exceptionhook(type, value, traceback, oldhook=sys.excepthook):
sys.excepthook = exceptionhook


def game_files_exist(settings_file: str) -> bool:
return os.path.isfile(settings_file)
def settings_check(path: str) -> None:
if os.path.isfile(path):
print("Found settings")
else:
print(f"Could not find PalWorldSettings.ini at {path}")
input("Press RETURN to close")
sys.exit(1)


def uesave_exists(path: str) -> bool:
return os.path.exists(path)
def uesave_check(path: str) -> None:
if os.path.isfile(path):
print("Found uesave")
else:
print(f"uesave does not exist at {path}")
input("Press RETURN to close")
sys.exit(1)


def save_worldoptions(uesave_path: str, worldoption: Dict, output_path: str) -> None:
Expand All @@ -33,18 +43,8 @@ def save_worldoptions(uesave_path: str, worldoption: Dict, output_path: str) ->

def convert_to_worldoptions(uesave_path: str, settings_file: str, output_path: str) -> None:
# Make sure files exist
if game_files_exist(settings_file):
print("Found settings")
else:
print(f"Could not find PalWorldSettings.ini at {settings_file}")
input("Press RETURN to close")
sys.exit(1)
if uesave_exists(uesave_path):
print("Found uesave")
else:
print(f"uesave does not exist at {uesave_path}")
input("Press RETURN to close")
sys.exit(1)
uesave_check(uesave_path)
settings_check(settings_file)
config_settings_json = create_palworldsettings(settings_file)
save_worldoptions(uesave_path, config_settings_json, output_path)
print("Complete!")
Expand Down
Empty file added src/tests/__init__.py
Empty file.
5 changes: 5 additions & 0 deletions src/tests/configs/BoolsFalseInt.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; This configuration file is a sample of the default server settings.
; Changes to this file will NOT be reflected on the server.
; To change the server settings, modify Pal/Saved/Config/WindowsServer/PalWorldSettings.ini.
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(bEnablePlayerToPlayerDamage=0,bEnableFriendlyFire=0,bEnableInvaderEnemy=0,bActiveUNKO=0,bEnableAimAssistPad=0,bEnableAimAssistKeyboard=0,bAutoResetGuildNoOnlinePlayers=0,bIsMultiplay=0,bIsPvP=0,bCanPickupOtherGuildDeathPenaltyDrop=0,bEnableNonLoginPenalty=0,bEnableFastTravel=0,bIsStartLocationSelectByMap=0,bExistPlayerAfterLogout=0,bEnableDefenseOtherGuildPlayer=0,RCONEnabled=0,bUseAuth=0)
5 changes: 5 additions & 0 deletions src/tests/configs/BoolsFalseLower.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; This configuration file is a sample of the default server settings.
; Changes to this file will NOT be reflected on the server.
; To change the server settings, modify Pal/Saved/Config/WindowsServer/PalWorldSettings.ini.
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(bEnablePlayerToPlayerDamage=false,bEnableFriendlyFire=false,bEnableInvaderEnemy=false,bActiveUNKO=false,bEnableAimAssistPad=false,bEnableAimAssistKeyboard=false,bAutoResetGuildNoOnlinePlayers=false,bIsMultiplay=false,bIsPvP=false,bCanPickupOtherGuildDeathPenaltyDrop=false,bEnableNonLoginPenalty=false,bEnableFastTravel=false,bIsStartLocationSelectByMap=false,bExistPlayerAfterLogout=false,bEnableDefenseOtherGuildPlayer=false,RCONEnabled=false,bUseAuth=false)
5 changes: 5 additions & 0 deletions src/tests/configs/BoolsFalseUpper.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; This configuration file is a sample of the default server settings.
; Changes to this file will NOT be reflected on the server.
; To change the server settings, modify Pal/Saved/Config/WindowsServer/PalWorldSettings.ini.
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(bEnablePlayerToPlayerDamage=FALSE,bEnableFriendlyFire=FALSE,bEnableInvaderEnemy=FALSE,bActiveUNKO=FALSE,bEnableAimAssistPad=FALSE,bEnableAimAssistKeyboard=FALSE,bAutoResetGuildNoOnlinePlayers=FALSE,bIsMultiplay=FALSE,bIsPvP=FALSE,bCanPickupOtherGuildDeathPenaltyDrop=FALSE,bEnableNonLoginPenalty=FALSE,bEnableFastTravel=FALSE,bIsStartLocationSelectByMap=FALSE,bExistPlayerAfterLogout=FALSE,bEnableDefenseOtherGuildPlayer=FALSE,RCONEnabled=FALSE,bUseAuth=FALSE)
5 changes: 5 additions & 0 deletions src/tests/configs/BoolsTrueInt.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; This configuration file is a sample of the default server settings.
; Changes to this file will NOT be reflected on the server.
; To change the server settings, modify Pal/Saved/Config/WindowsServer/PalWorldSettings.ini.
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(bEnablePlayerToPlayerDamage=1,bEnableFriendlyFire=1,bEnableInvaderEnemy=1,bActiveUNKO=1,bEnableAimAssistPad=1,bEnableAimAssistKeyboard=1,bAutoResetGuildNoOnlinePlayers=1,bIsMultiplay=1,bIsPvP=1,bCanPickupOtherGuildDeathPenaltyDrop=1,bEnableNonLoginPenalty=1,bEnableFastTravel=1,bIsStartLocationSelectByMap=1,bExistPlayerAfterLogout=1,bEnableDefenseOtherGuildPlayer=1,RCONEnabled=1,bUseAuth=1)
5 changes: 5 additions & 0 deletions src/tests/configs/BoolsTrueLower.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; This configuration file is a sample of the default server settings.
; Changes to this file will NOT be reflected on the server.
; To change the server settings, modify Pal/Saved/Config/WindowsServer/PalWorldSettings.ini.
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(bEnablePlayerToPlayerDamage=true,bEnableFriendlyFire=true,bEnableInvaderEnemy=true,bActiveUNKO=true,bEnableAimAssistPad=true,bEnableAimAssistKeyboard=true,bAutoResetGuildNoOnlinePlayers=true,bIsMultiplay=true,bIsPvP=true,bCanPickupOtherGuildDeathPenaltyDrop=true,bEnableNonLoginPenalty=true,bEnableFastTravel=true,bIsStartLocationSelectByMap=true,bExistPlayerAfterLogout=true,bEnableDefenseOtherGuildPlayer=true,RCONEnabled=true,bUseAuth=true)
5 changes: 5 additions & 0 deletions src/tests/configs/BoolsTrueUpper.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; This configuration file is a sample of the default server settings.
; Changes to this file will NOT be reflected on the server.
; To change the server settings, modify Pal/Saved/Config/WindowsServer/PalWorldSettings.ini.
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(bEnablePlayerToPlayerDamage=TRUE,bEnableFriendlyFire=TRUE,bEnableInvaderEnemy=TRUE,bActiveUNKO=TRUE,bEnableAimAssistPad=TRUE,bEnableAimAssistKeyboard=TRUE,bAutoResetGuildNoOnlinePlayers=TRUE,bIsMultiplay=TRUE,bIsPvP=TRUE,bCanPickupOtherGuildDeathPenaltyDrop=TRUE,bEnableNonLoginPenalty=TRUE,bEnableFastTravel=TRUE,bIsStartLocationSelectByMap=TRUE,bExistPlayerAfterLogout=TRUE,bEnableDefenseOtherGuildPlayer=TRUE,RCONEnabled=TRUE,bUseAuth=TRUE)
5 changes: 5 additions & 0 deletions src/tests/configs/DeathPenalty0.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; This configuration file is a sample of the default server settings.
; Changes to this file will NOT be reflected on the server.
; To change the server settings, modify Pal/Saved/Config/WindowsServer/PalWorldSettings.ini.
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(DeathPenalty=0)
5 changes: 5 additions & 0 deletions src/tests/configs/DeathPenalty1.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; This configuration file is a sample of the default server settings.
; Changes to this file will NOT be reflected on the server.
; To change the server settings, modify Pal/Saved/Config/WindowsServer/PalWorldSettings.ini.
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(DeathPenalty=1)
5 changes: 5 additions & 0 deletions src/tests/configs/DeathPenalty2.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; This configuration file is a sample of the default server settings.
; Changes to this file will NOT be reflected on the server.
; To change the server settings, modify Pal/Saved/Config/WindowsServer/PalWorldSettings.ini.
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(DeathPenalty=2)
5 changes: 5 additions & 0 deletions src/tests/configs/DeathPenalty3.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; This configuration file is a sample of the default server settings.
; Changes to this file will NOT be reflected on the server.
; To change the server settings, modify Pal/Saved/Config/WindowsServer/PalWorldSettings.ini.
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(DeathPenalty=3)
5 changes: 5 additions & 0 deletions src/tests/configs/DeathPenalty4.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; This configuration file is a sample of the default server settings.
; Changes to this file will NOT be reflected on the server.
; To change the server settings, modify Pal/Saved/Config/WindowsServer/PalWorldSettings.ini.
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(DeathPenalty=4)
5 changes: 5 additions & 0 deletions src/tests/configs/DeathPenaltyAll.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; This configuration file is a sample of the default server settings.
; Changes to this file will NOT be reflected on the server.
; To change the server settings, modify Pal/Saved/Config/WindowsServer/PalWorldSettings.ini.
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(DeathPenalty=All)
5 changes: 5 additions & 0 deletions src/tests/configs/DeathPenaltyItem.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; This configuration file is a sample of the default server settings.
; Changes to this file will NOT be reflected on the server.
; To change the server settings, modify Pal/Saved/Config/WindowsServer/PalWorldSettings.ini.
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(DeathPenalty=Item)
5 changes: 5 additions & 0 deletions src/tests/configs/DeathPenaltyItemAndEquipment.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; This configuration file is a sample of the default server settings.
; Changes to this file will NOT be reflected on the server.
; To change the server settings, modify Pal/Saved/Config/WindowsServer/PalWorldSettings.ini.
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(DeathPenalty=ItemAndEquipment)
5 changes: 5 additions & 0 deletions src/tests/configs/DeathPenaltyNone.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; This configuration file is a sample of the default server settings.
; Changes to this file will NOT be reflected on the server.
; To change the server settings, modify Pal/Saved/Config/WindowsServer/PalWorldSettings.ini.
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(DeathPenalty=None)
5 changes: 5 additions & 0 deletions src/tests/configs/DeathPenaltyPerma.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
; This configuration file is a sample of the default server settings.
; Changes to this file will NOT be reflected on the server.
; To change the server settings, modify Pal/Saved/Config/WindowsServer/PalWorldSettings.ini.
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(DeathPenalty=Perma)
2 changes: 2 additions & 0 deletions src/tests/configs/Floats.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(DayTimeSpeedRate=1.100000,NightTimeSpeedRate=1.100000,ExpRate=1.100000,PalCaptureRate=1.100000,PalSpawnNumRate=1.100000,PalDamageRateAttack=1.100000,PalDamageRateDefense=1.100000,PlayerDamageRateAttack=1.100000,PlayerDamageRateDefense=1.100000,PlayerStomachDecreaceRate=1.100000,PlayerStaminaDecreaceRate=1.100000,PlayerAutoHPRegeneRate=1.100000,PlayerAutoHpRegeneRateInSleep=1.100000,PalStomachDecreaceRate=1.100000,PalStaminaDecreaceRate=1.100000,PalAutoHPRegeneRate=1.100000,PalAutoHpRegeneRateInSleep=1.100000,BuildObjectDamageRate=1.100000,BuildObjectDeteriorationDamageRate=1.100000,CollectionDropRate=1.100000,CollectionObjectHpRate=1.100000,CollectionObjectRespawnSpeedRate=1.100000,EnemyDropItemRate=1.100000,DropItemAliveMaxHours=1.100000,AutoResetGuildTimeNoOnlinePlayers=72.100000,PalEggDefaultHatchingTime=72.100000,WorkSpeedRate=1.100000)
2 changes: 2 additions & 0 deletions src/tests/configs/FloatsInt.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(DayTimeSpeedRate=2,NightTimeSpeedRate=2,ExpRate=2,PalCaptureRate=2,PalSpawnNumRate=2,PalDamageRateAttack=2,PalDamageRateDefense=2,PlayerDamageRateAttack=2,PlayerDamageRateDefense=2,PlayerStomachDecreaceRate=2,PlayerStaminaDecreaceRate=2,PlayerAutoHPRegeneRate=2,PlayerAutoHpRegeneRateInSleep=2,PalStomachDecreaceRate=2,PalStaminaDecreaceRate=2,PalAutoHPRegeneRate=2,PalAutoHpRegeneRateInSleep=2,BuildObjectDamageRate=2,BuildObjectDeteriorationDamageRate=2,CollectionDropRate=2,CollectionObjectHpRate=2,CollectionObjectRespawnSpeedRate=2,EnemyDropItemRate=2,DropItemAliveMaxHours=2,AutoResetGuildTimeNoOnlinePlayers=72,PalEggDefaultHatchingTime=72,WorkSpeedRate=2),,,=2,NightTimeSpeedRate=20,ExpRate=2,PalCaptureRate=2,PalSpawnNumRate=2,PalDamageRateAttack=2,PalDamageRateDefense=2,PlayerDamageRateAttack=2,PlayerDamageRateDefense=2,PlayerStomachDecreaceRate=2,PlayerStaminaDecreaceRate=2,PlayerAutoHPRegeneRate=2,PlayerAutoHpRegeneRateInSleep=2,PalStomachDecreaceRate=2,PalStaminaDecreaceRate=2,PalAutoHPRegeneRate=2,PalAutoHpRegeneRateInSleep=2,BuildObjectDamageRate=2,BuildObjectDeteriorationDamageRate=2,CollectionDropRate=2,CollectionObjectHpRate=2,CollectionObjectRespawnSpeedRate=2,EnemyDropItemRate=2,DropItemAliveMaxHours=2,AutoResetGuildTimeNoOnlinePlayers=24,PalEggDefaultHatchingTime=24,WorkSpeedRate=2)
2 changes: 2 additions & 0 deletions src/tests/configs/Ints.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(DropItemMaxNum=2000,DropItemMaxNum_UNKO=50,BaseCampMaxNum=64,BaseCampWorkerMaxNum=20,GuildPlayerMaxNum=40,CoopPlayerMaxNum=8,ServerPlayerMaxNum=20,PublicPort=9000,RCONPort=25576)
2 changes: 2 additions & 0 deletions src/tests/configs/IntsFloats.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(DropItemMaxNum=2000.0,DropItemMaxNum_UNKO=50.0,BaseCampMaxNum=64.0,BaseCampWorkerMaxNum=20.0,GuildPlayerMaxNum=40.0,CoopPlayerMaxNum=8.0,ServerPlayerMaxNum=20.0,PublicPort=9000.0,RCONPort=25576.0)
2 changes: 2 additions & 0 deletions src/tests/configs/Strings.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(ServerName="MY Palworld Server",ServerDescription="This is my server",AdminPassword="s3cure",ServerPassword="passw0rd",PublicIP="127.0.0.1",Region="Tokyo",BanListURL="https://api.palworldgame.com/api/banlist_test.txt")
2 changes: 2 additions & 0 deletions src/tests/configs/StringsComma.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(ServerName="[MY] Palworld Server",ServerDescription="This is my server",ServerPassword="i,have,commas,")
2 changes: 2 additions & 0 deletions src/tests/configs/StringsQuotes.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(ServerName=""MY" Palworld Server",ServerDescription="This is "my" server",ServerPassword="use"this"password)
39 changes: 39 additions & 0 deletions src/tests/test_bools.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
from lib.palworldsettings import load_palworldsettings, parse_config, generate_json_config
from typing import Dict
import unittest


def load_data(path: str) -> Dict:
raw_config = load_palworldsettings(path)
parsed_config = parse_config(raw_config)
return generate_json_config(parsed_config)


BoolsFalse = {'bEnableInvaderEnemy': {'Bool': {'value': False}}, 'bEnableAimAssistPad': {'Bool': {'value': False}}, 'bEnableNonLoginPenalty': {'Bool': {'value': False}}, 'bEnableFastTravel': {'Bool': {'value': False}}, 'bIsStartLocationSelectByMap': {'Bool': {'value': False}}, 'bUseAuth': {'Bool': {'value': False}}}
BoolsTrue = {'bEnablePlayerToPlayerDamage': {'Bool': {'value': True}}, 'bEnableFriendlyFire': {'Bool': {'value': True}}, 'bActiveUNKO': {'Bool': {'value': True}}, 'bEnableAimAssistKeyboard': {'Bool': {'value': True}}, 'bAutoResetGuildNoOnlinePlayers': {'Bool': {'value': True}}, 'bIsMultiplay': {'Bool': {'value': True}}, 'bIsPvP': {'Bool':{'value': True}}, 'bCanPickupOtherGuildDeathPenaltyDrop': {'Bool': {'value': True}}, 'bExistPlayerAfterLogout': {'Bool': {'value': True}}, 'bEnableDefenseOtherGuildPlayer': {'Bool': {'value': True}}, 'RCONEnabled': {'Bool': {'value': True}}}


class TestBools(unittest.TestCase):
def test_bools_false_upper(self):
data = load_data("tests/configs/BoolsFalseUpper.ini")
assert(BoolsFalse == data)

def test_bools_false_lower(self):
data = load_data("tests/configs/BoolsFalseLower.ini")
assert(BoolsFalse == data)

def test_bools_false_int(self):
data = load_data("tests/configs/BoolsFalseInt.ini")
assert(BoolsFalse == data)

def test_bools_true_upper(self):
data = load_data("tests/configs/BoolsTrueUpper.ini")
assert(BoolsTrue == data)

def test_bools_true_lower(self):
data = load_data("tests/configs/BoolsTrueLower.ini")
assert(BoolsTrue == data)

def test_bools_true_int(self):
data = load_data("tests/configs/BoolsTrueInt.ini")
assert(BoolsTrue == data)
Loading

0 comments on commit 93a4c46

Please sign in to comment.