def test_ambiguous_domain_repr(self): err = AmbiguousDomain([CA_EQUITIES, GB_EQUITIES, US_EQUITIES]) result = str(err) expected = dedent("""\ Found terms with conflicting domains: - EquityCalendarDomain('CA', 'XTSE') - EquityCalendarDomain('GB', 'XLON') - EquityCalendarDomain('US', 'XNYS')""") assert_messages_equal(result, expected)
def test_ambiguous_domain_repr(self): err = AmbiguousDomain([CA_EQUITIES, GB_EQUITIES, US_EQUITIES]) result = str(err) expected = dedent( """\ Found terms with conflicting domains: - EquityCalendarDomain('CA', 'XTSE') - EquityCalendarDomain('GB', 'XLON') - EquityCalendarDomain('US', 'XNYS')""" ) assert_messages_equal(result, expected)
def test_get_column_failure(self): with self.assertRaises(AttributeError) as e: SomeDataSet.get_column("arglebargle") result = str(e.exception) expected = dedent("""\ SomeDataSet has no column 'arglebargle': Possible choices are: - a - b - c""") assert_messages_equal(result, expected)
def test_get_column_failure(self): with self.assertRaises(AttributeError) as e: SomeDataSet.get_column('arglebargle') result = str(e.exception) expected = dedent( """\ SomeDataSet has no column 'arglebargle': Possible choices are: - a - b - c""" ) assert_messages_equal(result, expected)
def test_get_column_failure_but_attribute_exists(self): attr = "exists_but_not_a_column" self.assertTrue(hasattr(SomeDataSet, attr)) with self.assertRaises(AttributeError) as e: SomeDataSet.get_column(attr) result = str(e.exception) expected = dedent("""\ SomeDataSet has no column 'exists_but_not_a_column': Possible choices are: - a - b - c""") assert_messages_equal(result, expected)
def test_equity_calendar_not_aligned(self, domain): valid_sessions = domain.all_sessions()[:50] sessions = pd.date_range(valid_sessions[0], valid_sessions[-1]) invalid_sessions = sessions[~sessions.isin(valid_sessions)] self.assertGreater( len(invalid_sessions), 1, msg='There must be at least one invalid session.', ) with self.assertRaises(ValueError) as e: domain.data_query_cutoff_for_sessions(sessions) expected_msg = ( 'cannot resolve data query time for sessions that are not on the' ' %s calendar:\n%s') % (domain.calendar.name, invalid_sessions) assert_messages_equal(str(e.exception), expected_msg)
def test_equity_calendar_not_aligned(self, domain): valid_sessions = domain.all_sessions()[:50] sessions = pd.date_range(valid_sessions[0], valid_sessions[-1]) invalid_sessions = sessions[~sessions.isin(valid_sessions)] self.assertGreater( len(invalid_sessions), 1, msg='There must be at least one invalid session.', ) with self.assertRaises(ValueError) as e: domain.data_query_cutoff_for_sessions(sessions) expected_msg = ( 'cannot resolve data query time for sessions that are not on the' ' %s calendar:\n%s' ) % (domain.calendar.name, invalid_sessions) assert_messages_equal(str(e.exception), expected_msg)
def test_get_column_failure_truncate_error_message(self): with self.assertRaises(AttributeError) as e: LargeDataSet.get_column("arglebargle") result = str(e.exception) expected = dedent("""\ LargeDataSet has no column 'arglebargle': Possible choices are: - a - b - c - d - e - f - g - h - i - ... - z""") assert_messages_equal(result, expected)
def test_get_column_failure_truncate_error_message(self): with self.assertRaises(AttributeError) as e: LargeDataSet.get_column('arglebargle') result = str(e.exception) expected = dedent( """\ LargeDataSet has no column 'arglebargle': Possible choices are: - a - b - c - d - e - f - g - h - i - ... - z""" ) assert_messages_equal(result, expected)