Implements Refactoring in Player Class and Initial Working Version

This commit is contained in:
2023-06-02 20:20:38 -03:00
parent b440a0f05d
commit 33612f2d7b
21 changed files with 1193 additions and 983 deletions

View File

@@ -1,11 +1,11 @@
from diceplayer.shared.config.dice_dto import DiceDTO
from diceplayer.shared.config.dice_config import DiceConfig
import unittest
class TestDiceDto(unittest.TestCase):
def test_class_instantiation(self):
dice_dto = DiceDTO(
dice_dto = DiceConfig(
ljname='test',
outname='test',
dens=1.0,
@@ -13,11 +13,11 @@ class TestDiceDto(unittest.TestCase):
nstep=[1, 1],
)
self.assertIsInstance(dice_dto, DiceDTO)
self.assertIsInstance(dice_dto, DiceConfig)
def test_validate_jname(self):
with self.assertRaises(ValueError) as ex:
DiceDTO(
DiceConfig(
ljname=None,
outname='test',
dens=1.0,
@@ -28,7 +28,7 @@ class TestDiceDto(unittest.TestCase):
def test_validate_outname(self):
with self.assertRaises(ValueError) as ex:
DiceDTO(
DiceConfig(
ljname='test',
outname=None,
dens=1.0,
@@ -39,7 +39,7 @@ class TestDiceDto(unittest.TestCase):
def test_validate_dens(self):
with self.assertRaises(ValueError) as ex:
DiceDTO(
DiceConfig(
ljname='test',
outname='test',
dens=None,
@@ -50,7 +50,7 @@ class TestDiceDto(unittest.TestCase):
def test_validate_nmol(self):
with self.assertRaises(ValueError) as ex:
DiceDTO(
DiceConfig(
ljname='test',
outname='test',
dens=1.0,
@@ -61,7 +61,7 @@ class TestDiceDto(unittest.TestCase):
def test_validate_nstep(self):
with self.assertRaises(ValueError) as ex:
DiceDTO(
DiceConfig(
ljname='test',
outname='test',
dens=1.0,
@@ -71,7 +71,7 @@ class TestDiceDto(unittest.TestCase):
self.assertEqual(ex.exception, "Error: 'nstep' keyword not defined appropriately in config file")
def test_from_dict(self):
dice_dto = DiceDTO.from_dict({
dice_dto = DiceConfig.from_dict({
'ljname': 'test',
'outname': 'test',
'dens': 1.0,
@@ -79,4 +79,4 @@ class TestDiceDto(unittest.TestCase):
'nstep': [1, 1],
})
self.assertIsInstance(dice_dto, DiceDTO)
self.assertIsInstance(dice_dto, DiceConfig)

View File

@@ -1,4 +1,4 @@
from diceplayer.shared.config.gaussian_dto import GaussianDTO
from diceplayer.shared.config.gaussian_config import GaussianDTO
import unittest

View File

@@ -1,28 +1,84 @@
from diceplayer.shared.config.player_dto import PlayerDTO
from diceplayer.shared.config.gaussian_config import GaussianDTO
from diceplayer.shared.config.player_config import PlayerConfig
from diceplayer.shared.config.dice_config import DiceConfig
import unittest
class TestPlayerDTO(unittest.TestCase):
def test_class_instantiation(self):
player_dto = PlayerDTO(opt=True, maxcyc=100, nprocs=4, ncores=4)
def get_config_dict():
return {
'opt': True,
'mem': 12,
'maxcyc': 100,
'nprocs': 4,
'ncores': 4,
'dice': {
'ljname': 'test',
'outname': 'test',
'dens': 1.0,
'nmol': [1],
'nstep': [1, 1],
},
'gaussian': {
'level': 'test',
'qmprog': 'g16',
'keywords': 'test',
}
}
self.assertIsInstance(player_dto, PlayerDTO)
class TestPlayerDTO(unittest.TestCase):
def setUp(self) -> None:
self.dice_dto = DiceConfig(
ljname='test',
outname='test',
dens=1.0,
nmol=[1],
nstep=[1, 1],
)
self.gaussian_dto = GaussianDTO(
level='test',
qmprog='g16',
keywords='test',
)
def test_class_instantiation(self):
player_dto = PlayerConfig(
opt=True,
mem=12,
maxcyc=100,
nprocs=4,
ncores=4,
dice=self.dice_dto,
gaussian=self.gaussian_dto
)
self.assertIsInstance(player_dto, PlayerConfig)
self.assertIsInstance(player_dto.dice, DiceConfig)
self.assertIsInstance(player_dto.gaussian, GaussianDTO)
def test_min_altsteps(self):
player_dto = PlayerDTO(opt=True, maxcyc=100, nprocs=4, ncores=4, altsteps=100)
player_dto = PlayerConfig(
opt=True,
mem=12,
maxcyc=100,
nprocs=4,
ncores=4,
altsteps=100,
dice=self.dice_dto,
gaussian=self.gaussian_dto
)
self.assertEqual(player_dto.altsteps, 20000)
def test_from_dict(self):
player_dto = PlayerDTO.from_dict({
'opt': True,
'maxcyc': 100,
'nprocs': 4,
'ncores': 4,
})
player_dto = PlayerConfig.from_dict(
get_config_dict()
)
self.assertIsInstance(player_dto, PlayerDTO)
self.assertIsInstance(player_dto, PlayerConfig)
self.assertIsInstance(player_dto.dice, DiceConfig)
self.assertIsInstance(player_dto.gaussian, GaussianDTO)
if __name__ == '__main__':