Exemplo n.º 1
0
    def test_attach(self):
        '''
        Tests the following:
        
        1. Attaching to a registered pdarray
        2. The registered and attached pdarrays are equal
        3. The attached pdarray is deleted server-side following
           unregister of registered pdarray and invocation of 
           ak.clear()
        4. method invocation on cleared attached array raises RuntimeError
        '''
        ar_array = self.a_array.register('test_int64_a')
        aar_array = ak.attach_pdarray('test_int64_a')

        self.assertEqual(ar_array.name, aar_array.name)
        self.assertTrue(
            (ar_array.to_ndarray() == aar_array.to_ndarray()).all())

        ak.disconnect()
        ak.connect(server=ArkoudaTest.server, port=ArkoudaTest.port)
        aar_array = ak.attach_pdarray('test_int64_a')

        self.assertEqual(ar_array.name, aar_array.name)
        self.assertTrue(
            (ar_array.to_ndarray() == aar_array.to_ndarray()).all())

        ar_array.unregister()
        ak.clear()

        with self.assertRaises(RuntimeError):
            str(aar_array)

        with self.assertRaises(RuntimeError):
            repr(aar_array)
Exemplo n.º 2
0
 def test_disconnect_on_disconnected_client(self):
     '''
     Tests the ak.disconnect() method invoked on a client that is already
     disconnect to ensure there is no error
     '''
     ak.disconnect()
     self.assertFalse(ak.client.connected)
     ak.disconnect()
     ak.connect(server=ArkoudaTest.server, port=ArkoudaTest.port)
Exemplo n.º 3
0
    def test_client_connected(self):
        '''
        Tests the following methods:
        ak.client.connected()
        ak.client.disconnect()
        ak.client.connect()
        
        :return: None
        :raise: AssertionError if an assert* method returns incorrect value or
                if there is a error in connecting or disconnecting from  the
                Arkouda server
        '''
        self.assertTrue(ak.client.connected)
        try:
            ak.disconnect()
        except Exception as e:
            raise AssertionError(e)

        self.assertFalse(ak.client.connected)
        try:
            ak.connect(server=ArkoudaTest.server, port=ArkoudaTest.port)
        except Exception as e:
            raise AssertionError(e)
        self.assertTrue(ak.client.connected)
Exemplo n.º 4
0
        self.assertEqual(np.float64(5), dArray[0])

    def testPdArrayDivideNumpyInt(self):
        aArray = ak.ones(100)
        dArray = aArray * np.int64(15) / 3
        self.assertIsInstance(dArray, ak.pdarrayclass.pdarray)
        self.assertEqual(np.float64(5), dArray[0])

        dArray = np.int64(15) * aArray / 3
        self.assertIsInstance(dArray, ak.pdarrayclass.pdarray)
        self.assertEqual(np.float64(5), dArray[0])

    def testAllOperators(self):
        run_tests(verbose)


if __name__ == '__main__':
    '''
    Enables invocation of operator tests outside of pytest test harness
    '''
    import sys
    if len(sys.argv) not in (3, 4):
        print(f"Usage: {sys.argv[0]} <server_name> <port> [<verbose>=(0|1)]")
    verbose = False
    if len(sys.argv) == 4 and sys.argv[3] == "1":
        verbose = True
    ak.connect(server=sys.argv[1], port=int(sys.argv[2]))
    success = run_tests(verbose)
    ak.disconnect()
    sys.exit((1, 0)[success])
Exemplo n.º 5
0
    def test_disconnect_on_disconnected_client(self):

        ak.disconnect()
        self.assertFalse(ak.client.connected)
        ak.disconnect()
        ak.connect()
Exemplo n.º 6
0
    def test_disconnect_on_disconnected_client(self):

        ak.disconnect()
        self.assertFalse(ak.client.connected)
        ak.disconnect()
        ak.connect(server=ArkoudaTest.server, port=ArkoudaTest.port)