mirror of https://gitlab.com/pamhyr/pamhyr2
Network: Fix tests.
parent
48c389a27c
commit
cab1bceae8
|
|
@ -16,16 +16,16 @@
|
||||||
|
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
from Model.Tools.PamhyrDB import PamhyrID
|
from Model.Tools.PamhyrDB import SQLSubModel
|
||||||
from Model.Network.Node import Node
|
from Model.Network.Node import Node
|
||||||
|
|
||||||
|
|
||||||
class Edge(PamhyrID):
|
class Edge(SQLSubModel):
|
||||||
def __init__(self, id: int, name: str,
|
def __init__(self, id: int = -1, name: str = "",
|
||||||
node1: Node = None,
|
node1: Node = None,
|
||||||
node2: Node = None,
|
node2: Node = None,
|
||||||
status=None, **kwargs):
|
**kwargs):
|
||||||
super(Edge, self).__init__(id=id, status=status, **kwargs)
|
super(Edge, self).__init__(id=id, **kwargs)
|
||||||
|
|
||||||
self._name = name
|
self._name = name
|
||||||
self.node1 = node1
|
self.node1 = node1
|
||||||
|
|
@ -77,9 +77,6 @@ class Edge(PamhyrID):
|
||||||
def is_enable(self):
|
def is_enable(self):
|
||||||
return self._enable
|
return self._enable
|
||||||
|
|
||||||
def is_deleted(self):
|
|
||||||
return False
|
|
||||||
|
|
||||||
def enable(self, enable=True):
|
def enable(self, enable=True):
|
||||||
self._enable = enable
|
self._enable = enable
|
||||||
self.modified()
|
self.modified()
|
||||||
|
|
|
||||||
|
|
@ -18,11 +18,13 @@
|
||||||
|
|
||||||
from functools import reduce
|
from functools import reduce
|
||||||
|
|
||||||
|
from Model.Tools.PamhyrDB import SQLSubModel
|
||||||
|
|
||||||
from Model.Network.Node import Node
|
from Model.Network.Node import Node
|
||||||
from Model.Network.Edge import Edge
|
from Model.Network.Edge import Edge
|
||||||
|
|
||||||
|
|
||||||
class Graph(object):
|
class Graph(SQLSubModel):
|
||||||
def __init__(self, **kwargs):
|
def __init__(self, **kwargs):
|
||||||
super(Graph, self).__init__(**kwargs)
|
super(Graph, self).__init__(**kwargs)
|
||||||
|
|
||||||
|
|
@ -164,8 +166,7 @@ class Graph(object):
|
||||||
|
|
||||||
def _create_edge(self, n1: Node, n2: Node):
|
def _create_edge(self, n1: Node, n2: Node):
|
||||||
edge = self._edge_ctor(
|
edge = self._edge_ctor(
|
||||||
-1,
|
node1=n1, node2=n2,
|
||||||
"", n1, n2,
|
|
||||||
status=self._status
|
status=self._status
|
||||||
)
|
)
|
||||||
return edge
|
return edge
|
||||||
|
|
|
||||||
|
|
@ -16,17 +16,15 @@
|
||||||
|
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
from Model.Tools.PamhyrDB import PamhyrID
|
from Model.Tools.PamhyrDB import SQLSubModel
|
||||||
from Model.Network.Point import Point
|
from Model.Network.Point import Point
|
||||||
|
|
||||||
|
|
||||||
class Node(PamhyrID):
|
class Node(SQLSubModel):
|
||||||
def __init__(self, id: int, name: str,
|
def __init__(self, id: int = -1, name: str = "",
|
||||||
x: float = 0.0, y: float = 0.0,
|
x: float = 0.0, y: float = 0.0,
|
||||||
status=None, **kwargs):
|
**kwargs):
|
||||||
super(Node, self).__init__(id)
|
super(Node, self).__init__(id=id, **kwargs)
|
||||||
|
|
||||||
self._status = status
|
|
||||||
|
|
||||||
if name == "":
|
if name == "":
|
||||||
self._name = f"Node #{self.pamhyr_id}"
|
self._name = f"Node #{self.pamhyr_id}"
|
||||||
|
|
@ -53,10 +51,7 @@ class Node(PamhyrID):
|
||||||
elif key == "id":
|
elif key == "id":
|
||||||
self.pamhyr_id = value
|
self.pamhyr_id = value
|
||||||
|
|
||||||
self._status.modified()
|
self.modified()
|
||||||
|
|
||||||
def is_deleted(self):
|
|
||||||
return False
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
|
|
@ -73,4 +68,4 @@ class Node(PamhyrID):
|
||||||
def setPos(self, x, y):
|
def setPos(self, x, y):
|
||||||
self.pos.x = x
|
self.pos.x = x
|
||||||
self.pos.y = y
|
self.pos.y = y
|
||||||
self._status.modified()
|
self.modified()
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,9 @@ class GraphTestCase(unittest.TestCase):
|
||||||
|
|
||||||
e0 = g.add_edge(n0, n1)
|
e0 = g.add_edge(n0, n1)
|
||||||
|
|
||||||
|
self.assertEqual(g.nodes_counts(), 2)
|
||||||
|
self.assertEqual(g.edges_counts(), 1)
|
||||||
|
|
||||||
g.remove_edge(e0)
|
g.remove_edge(e0)
|
||||||
|
|
||||||
self.assertEqual(g.nodes_counts(), 2)
|
self.assertEqual(g.nodes_counts(), 2)
|
||||||
|
|
|
||||||
|
|
@ -51,14 +51,14 @@ from Solver.Solvers import solver_type_list
|
||||||
logger = logging.getLogger()
|
logger = logging.getLogger()
|
||||||
|
|
||||||
|
|
||||||
class RiverNode(Node, SQLSubModel):
|
class RiverNode(Node):
|
||||||
_sub_classes = []
|
_sub_classes = []
|
||||||
|
|
||||||
def __init__(self, id: int = -1, name: str = "",
|
def __init__(self, id: int = -1, name: str = "",
|
||||||
x: float = 0.0, y: float = 0.0,
|
x: float = 0.0, y: float = 0.0,
|
||||||
status=None, owner_scenario=-1):
|
status=None, owner_scenario=-1):
|
||||||
super(RiverNode, self).__init__(
|
super(RiverNode, self).__init__(
|
||||||
id, name, x, y,
|
id=id, name=name, x=x, y=y,
|
||||||
status=status,
|
status=status,
|
||||||
owner_scenario=owner_scenario
|
owner_scenario=owner_scenario
|
||||||
)
|
)
|
||||||
|
|
@ -147,7 +147,6 @@ class RiverNode(Node, SQLSubModel):
|
||||||
y = next(it)
|
y = next(it)
|
||||||
owner_scenario = next(it)
|
owner_scenario = next(it)
|
||||||
|
|
||||||
|
|
||||||
node = cls(
|
node = cls(
|
||||||
id=pid,
|
id=pid,
|
||||||
name=name, x=x, y=y,
|
name=name, x=x, y=y,
|
||||||
|
|
@ -192,7 +191,7 @@ class RiverNode(Node, SQLSubModel):
|
||||||
self._locker = locker
|
self._locker = locker
|
||||||
|
|
||||||
|
|
||||||
class RiverReach(Edge, SQLSubModel):
|
class RiverReach(Edge):
|
||||||
_sub_classes = [
|
_sub_classes = [
|
||||||
Reach,
|
Reach,
|
||||||
FrictionList,
|
FrictionList,
|
||||||
|
|
@ -203,8 +202,8 @@ class RiverReach(Edge, SQLSubModel):
|
||||||
node2: RiverNode = None,
|
node2: RiverNode = None,
|
||||||
status=None, owner_scenario=-1):
|
status=None, owner_scenario=-1):
|
||||||
super(RiverReach, self).__init__(
|
super(RiverReach, self).__init__(
|
||||||
id, name,
|
id=id, name=name,
|
||||||
node1, node2,
|
node1=node1, node2=node2,
|
||||||
status=status,
|
status=status,
|
||||||
owner_scenario=owner_scenario
|
owner_scenario=owner_scenario
|
||||||
)
|
)
|
||||||
|
|
@ -389,7 +388,7 @@ class RiverReach(Edge, SQLSubModel):
|
||||||
return self._frictions
|
return self._frictions
|
||||||
|
|
||||||
|
|
||||||
class River(Graph, SQLSubModel):
|
class River(Graph):
|
||||||
_sub_classes = [
|
_sub_classes = [
|
||||||
StricklersList,
|
StricklersList,
|
||||||
SedimentLayerList,
|
SedimentLayerList,
|
||||||
|
|
|
||||||
|
|
@ -158,8 +158,8 @@ class SQLSubModel(PamhyrID):
|
||||||
_sub_classes = []
|
_sub_classes = []
|
||||||
|
|
||||||
def __init__(self, id: int = -1, status=None,
|
def __init__(self, id: int = -1, status=None,
|
||||||
owner_scenario=-1):
|
owner_scenario=-1, **kwargs):
|
||||||
super(SQLSubModel, self).__init__(id)
|
super(SQLSubModel, self).__init__(id=id, **kwargs)
|
||||||
|
|
||||||
self._status = status
|
self._status = status
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,8 +26,8 @@ logger = logging.getLogger()
|
||||||
class PamhyrID(object):
|
class PamhyrID(object):
|
||||||
_pamhyr_id_cnt = 0
|
_pamhyr_id_cnt = 0
|
||||||
|
|
||||||
def __init__(self, id: int = -1):
|
def __init__(self, id: int = -1, **kwargs):
|
||||||
super(PamhyrID, self).__init__()
|
super(PamhyrID, self).__init__(**kwargs)
|
||||||
|
|
||||||
self._pamhyr_id = self.get_new_pamhyr_id(id)
|
self._pamhyr_id = self.get_new_pamhyr_id(id)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue