// Given an 'equalizer situation', check we can factorize through the equalizer @Test public void testEqualizer() { EqualizerSituation<DOT, ARROW> situation = fixtures.equalizerSituation(); ARROW r = situation.getR(); ARROW s = situation.getS(); ARROW t = situation.getT(); EqualizerDiagram<DOT, ARROW> diagram = _topos.equalizer(s, t); ARROW e = diagram.getEqualizer(); assertEquals(s.compose(e), t.compose(e)); ARROW q = diagram.factorize(situation); assertTrue(q.getSource() == r.getSource()); assertTrue(q.getTarget() == e.getSource()); assertTrue(r.equals(e.compose(q))); }