// no handler installed for type public void testNoHandler() { FaultDistributor dut = new FaultDistributor(); // We lie a little bit here to get the NODE_FAILURE routed to UNKNOWN // but still set the checking bool correctly MockFaultHandler unk_handler = new MockFaultHandler(FaultType.NODE_FAILURE); dut.registerDefaultHandler(unk_handler); dut.reportFault(new VoltFault(FaultType.NODE_FAILURE)); assertTrue(unk_handler.m_gotFault); }
// multiple handlers for same type public void testMultiHandler() { FaultDistributor dut = new FaultDistributor(); MockFaultHandler node_handler1 = new MockFaultHandler(FaultType.NODE_FAILURE); dut.registerFaultHandler(FaultType.NODE_FAILURE, node_handler1, 1); MockFaultHandler node_handler2 = new MockFaultHandler(FaultType.NODE_FAILURE); dut.registerFaultHandler(FaultType.NODE_FAILURE, node_handler2, 1); dut.reportFault(new VoltFault(FaultType.NODE_FAILURE)); assertTrue(node_handler1.m_gotFault); assertTrue(node_handler2.m_gotFault); }
public void testBasicDispatch() { FaultDistributor dut = new FaultDistributor(); MockFaultHandler unk_handler = new MockFaultHandler(FaultType.UNKNOWN); MockFaultHandler node_handler = new MockFaultHandler(FaultType.NODE_FAILURE); dut.registerFaultHandler(FaultType.UNKNOWN, unk_handler, 1); dut.registerFaultHandler(FaultType.NODE_FAILURE, node_handler, 1); dut.reportFault(new VoltFault(FaultType.UNKNOWN)); assertTrue(unk_handler.m_gotFault); assertFalse(node_handler.m_gotFault); dut.reportFault(new VoltFault(FaultType.NODE_FAILURE)); assertTrue(node_handler.m_gotFault); }
public void testSingleTypeOrder() { FaultDistributor dut = new FaultDistributor(); OrderTracker order_tracker = new OrderTracker(-1); MockFaultHandler node_handler1 = new MockFaultHandler(FaultType.NODE_FAILURE, 1, order_tracker); MockFaultHandler node_handler2 = new MockFaultHandler(FaultType.NODE_FAILURE, 2, order_tracker); MockFaultHandler node_handler2a = new MockFaultHandler(FaultType.NODE_FAILURE, 2, order_tracker); MockFaultHandler node_handler5 = new MockFaultHandler(FaultType.NODE_FAILURE, 5, order_tracker); MockFaultHandler node_handler5a = new MockFaultHandler(FaultType.NODE_FAILURE, 5, order_tracker); MockFaultHandler node_handler7 = new MockFaultHandler(FaultType.NODE_FAILURE, 7, order_tracker); // register handlers in non-sequential order to avoid getting lucky // with insertion order dut.registerFaultHandler(FaultType.NODE_FAILURE, node_handler7, 7); dut.registerFaultHandler(FaultType.NODE_FAILURE, node_handler2a, 2); dut.registerFaultHandler(FaultType.NODE_FAILURE, node_handler5, 5); dut.registerFaultHandler(FaultType.NODE_FAILURE, node_handler1, 1); dut.registerFaultHandler(FaultType.NODE_FAILURE, node_handler5a, 5); dut.registerFaultHandler(FaultType.NODE_FAILURE, node_handler2, 2); dut.reportFault(new VoltFault(FaultType.NODE_FAILURE)); assertTrue(node_handler1.m_gotFault); assertTrue(node_handler2.m_gotFault); assertTrue(node_handler2a.m_gotFault); assertTrue(node_handler5.m_gotFault); assertTrue(node_handler5a.m_gotFault); assertTrue(node_handler7.m_gotFault); assertTrue(order_tracker.m_goodOrder); }