'Check widget\'s data and output with data on the input'

def test_data(self):

    self.assertEqual(self.widget.data, None)
    self.send_signal(self.widget.Inputs.data, self.zoo)
    self.assertEqual(self.widget.data, self.zoo)
    output = self.get_output(self.widget.Outputs.data)
    np.testing.assert_array_equal(output.X, self.zoo.X)
    np.testing.assert_array_equal(output.metas, self.zoo.metas)
    self.assertTrue((output.Y != self.zoo.Y).any())
    self.assertTrue((np.sort(output.Y, axis=0) == np.sort(self.zoo.Y, axis=0)).all())
    self.send_signal(self.widget.Inputs.data, None)
    self.assertEqual(self.widget.data, None)
    self.assertIsNone(self.get_output(self.widget.Outputs.data))
