55 lines
1.3 KiB
Python
55 lines
1.3 KiB
Python
|
import os, sys
|
||
|
sys.path.insert(0, os.path.join('..', 'src'))
|
||
|
|
||
|
import plane
|
||
|
import numpy as np
|
||
|
from neighborhood import Neighborhood
|
||
|
from configuration import Configuration
|
||
|
|
||
|
|
||
|
class TestConfiguration:
|
||
|
"""
|
||
|
|
||
|
"""
|
||
|
def setUp(self):
|
||
|
self.neighborhood = Neighborhood(0)
|
||
|
|
||
|
self.plane2d = plane.Plane((100, 100))
|
||
|
self.config2d = Configuration(0, plane=self.plane2d, offsets={
|
||
|
(-1, -1): 1,
|
||
|
(-1, 0): 1,
|
||
|
(1, -1): 1,
|
||
|
(0, 0): 1
|
||
|
})
|
||
|
|
||
|
self.plane3d = plane.Plane((100, 100, 100))
|
||
|
self.config3d = Configuration(1, plane=self.plane3d, offsets={
|
||
|
(-1, 0, 1): 1,
|
||
|
(-2, 1, 1): 1,
|
||
|
(-1, 0, 0): 0
|
||
|
})
|
||
|
|
||
|
def test_mooreNeighborhoodOffsets(self):
|
||
|
"""
|
||
|
|
||
|
"""
|
||
|
assert len(Configuration.moore(self.plane2d)) == 8
|
||
|
assert len(Configuration.moore(self.plane3d)) == 26
|
||
|
|
||
|
def test_neumannNeighborhoodOffsets(self):
|
||
|
"""
|
||
|
|
||
|
"""
|
||
|
assert len(Configuration.neumann(self.plane2d)) == 4
|
||
|
assert len(Configuration.neumann(self.plane3d)) == 6
|
||
|
|
||
|
def test_matchNeighborhood(self):
|
||
|
"""
|
||
|
|
||
|
"""
|
||
|
assert not self.config2d.matches(self.plane2d, self.neighborhood)
|
||
|
self.plane2d[[(-1, -1), (-1, 0), (1, -1), (0, 0)]] = 1
|
||
|
assert self.config2d.matches(self.plane2d, self.neighborhood)
|
||
|
|
||
|
|