Beispiel #1
0
    def test_meshgrid2D(self):
        bounds = ((-30, -20), (4, 5))
        res = 15

        mesh = MeshGrid({'res': res}, bounds)
        for _ in range(10000):
            mesh.add((random.uniform(*bounds[0]), random.uniform(*bounds[1])))

        self.assertEqual(len(mesh._nonempty_bins), res**2)

        res2 = 10
        mesh2 = MeshGrid({'res': res2}, bounds)
        for _ in range(1000):
            mesh2.add(mesh.draw(replace=True))

        self.assertEqual(len(mesh2._nonempty_bins), res2**2)
Beispiel #2
0
    def test_resize(self):
        bounds = ((0, 1), )
        res = 15

        mesh = MeshGrid({'res': res}, bounds)
        for _ in range(1000):
            mesh.add((random.uniform(*bounds[0]), ))

        self.assertEqual(len(mesh._nonempty_bins), res)

        res = 10
        mesh.resize(((0, 1), ), res=res)
        self.assertEqual(len(mesh._nonempty_bins), res)

        mesh.resize(((0, 2), ), res=res)
        self.assertEqual(len(mesh._nonempty_bins), res / 2)
Beispiel #3
0
    def test_meshgrid_outliers(self):
        bounds = ((0, 1),)
        res = 15

        mesh = MeshGrid({'res': res}, bounds)
        for _ in range(1000):
            mesh.add(( random.uniform(*bounds[0]),))
        for _ in range(1000):
            mesh.add((-random.uniform(*bounds[0]),))

        self.assertEqual(len(mesh._nonempty_bins), res+1)

        res2 = 10
        mesh2 = MeshGrid({'res': res2}, bounds)
        for _ in range(500):
            mesh2.add(mesh.draw(replace=True))

        for b in mesh2._nonempty_bins:
            self.assertTrue(30 <= len(b) <= 60)
        self.assertEqual(len(mesh2._nonempty_bins), res2+1)
Beispiel #4
0
    def test_resize(self):
        bounds = ((0, 1),)
        res = 15

        mesh = MeshGrid({'res': res}, bounds)
        for _ in range(1000):
            mesh.add(( random.uniform(*bounds[0]),))

        self.assertEqual(len(mesh._nonempty_bins), res)

        res = 10
        mesh.resize(((0, 1),), res=res)
        self.assertEqual(len(mesh._nonempty_bins), res)

        mesh.resize(((0, 2),), res=res)
        self.assertEqual(len(mesh._nonempty_bins), res/2)
Beispiel #5
0
    def test_meshgrid2D(self):
        bounds = ((-30, -20), (4, 5))
        res = 15

        mesh = MeshGrid({'res': res}, bounds)
        for _ in range(10000):
            mesh.add((random.uniform(*bounds[0]),
                      random.uniform(*bounds[1])))

        self.assertEqual(len(mesh._nonempty_bins), res**2)

        res2 = 10
        mesh2 = MeshGrid({'res': res2}, bounds)
        for _ in range(1000):
            mesh2.add(mesh.draw(replace=True))

        self.assertEqual(len(mesh2._nonempty_bins), res2**2)
Beispiel #6
0
    def test_meshgrid1D(self):
        mesh = MeshGrid({'res': 10}, ((0, 1),))
        for _ in range(10000):
            mesh.add((random.random(),))

        self.assertEqual(len(mesh._nonempty_bins), 10)

        mesh2 = MeshGrid({'res': 10}, ((0, 1),))
        for _ in range(1000):
            mesh2.add(mesh.draw(replace=True))

        for b in mesh2._nonempty_bins:
            self.assertTrue(70 <= len(b) <= 130)

        mesh3 = MeshGrid({'res': 10}, ((0, 1),))
        for _ in range(1000):
            mesh3.add(mesh.draw(replace=False))

        for b in mesh3._nonempty_bins:
            self.assertTrue(70 <= len(b) <= 130)

        self.assertEqual(len(mesh._nonempty_bins), 10)
Beispiel #7
0
    def test_meshgrid_outliers(self):
        bounds = ((0, 1), )
        res = 15

        mesh = MeshGrid({'res': res}, bounds)
        for _ in range(1000):
            mesh.add((random.uniform(*bounds[0]), ))
        for _ in range(1000):
            mesh.add((-random.uniform(*bounds[0]), ))

        self.assertEqual(len(mesh._nonempty_bins), res + 1)

        res2 = 10
        mesh2 = MeshGrid({'res': res2}, bounds)
        for _ in range(500):
            mesh2.add(mesh.draw(replace=True))

        for b in mesh2._nonempty_bins:
            self.assertTrue(30 <= len(b) <= 60)
        self.assertEqual(len(mesh2._nonempty_bins), res2 + 1)
Beispiel #8
0
    def test_meshgrid1D(self):
        mesh = MeshGrid({'res': 10}, ((0, 1), ))
        for _ in range(10000):
            mesh.add((random.random(), ))

        self.assertEqual(len(mesh._nonempty_bins), 10)

        mesh2 = MeshGrid({'res': 10}, ((0, 1), ))
        for _ in range(1000):
            mesh2.add(mesh.draw(replace=True))

        for b in mesh2._nonempty_bins:
            self.assertTrue(70 <= len(b) <= 130)

        mesh3 = MeshGrid({'res': 10}, ((0, 1), ))
        for _ in range(1000):
            mesh3.add(mesh.draw(replace=False))

        for b in mesh3._nonempty_bins:
            self.assertTrue(70 <= len(b) <= 130)

        self.assertEqual(len(mesh._nonempty_bins), 10)