def testMergeContext(self): frame1 = ContextManagerFrame(entities=['foo'], metadata={ 'domain': 'music', 'foo': 'test' }) self.assertFalse(frame1.metadata_matches({'bar': 'test'}), "Should not match before merging context") frame1.merge_context('bar', {'domain': 'music', 'bar': 'test'}) self.assertTrue(frame1.metadata_matches({'domain': 'music'}), "Should continue to match subset of metadata") self.assertTrue(frame1.metadata_matches({'bar': 'test'}), "Should match after merging context")
def testMetadataMatches(self): frame1 = ContextManagerFrame(entities=['foo'], metadata={ 'domain': 'music', 'foo': 'test' }) self.assertTrue(frame1.metadata_matches({'domain': 'music'}), "Should match subset of metadata") self.assertFalse(frame1.metadata_matches({'domain': 'weather'}), "Should not match metadata value mismatch") self.assertTrue( frame1.metadata_matches({ 'domain': 'music', 'foo': 'test' }), "Should match exact metadata") self.assertFalse( frame1.metadata_matches({ 'domain': 'music', 'foo': 'test', 'bar': 'test' }), "Should not match superset of metadata")