package eu.ggnet.dwoss.progress; import eu.ggnet.dwoss.progress.SubMonitor; import org.junit.Test; /** * */ public class SubMonitorUnitTest { @Test public void testBarValues1() { JUnitMonitor m = new JUnitMonitor(1000); SubMonitor sm = SubMonitor.convert(m); sm.start(); m.testRemaining(1000, 1); sm.setWorkRemaining(5); sm.worked(2); m.testRemaining(600, 1); sm.setWorkRemaining(10); sm.worked(6); m.testRemaining(240, 1); sm.worked(4); m.testRemaining(0, 1); } @Test public void testBarValues2() { JUnitMonitor m2 = new JUnitMonitor(10); SubMonitor sm = SubMonitor.convert(m2); m2.testRemaining(10, 1); sm.setWorkRemaining(20); sm.worked(6); m2.testRemaining(7, 1); sm.setWorkRemaining(10); sm.worked(6); m2.testRemaining(3, 2); sm.worked(4); m2.testRemaining(0, 1); } @Test public void testBarSmall() { JUnitMonitor jm = new JUnitMonitor(10); SubMonitor subM = SubMonitor.convert(jm); subM.setWorkRemaining(1000); for (int i = 0; i < 600; i++) { subM.worked(1); } jm.testRemaining(4, 1); } @Test public void testNewChild() { JUnitMonitor m = new JUnitMonitor(1000); SubMonitor sm = SubMonitor.convert(m); m.testRemaining(1000, 1); sm.setWorkRemaining(100); sm.start(); m.testRemaining(1000, 2); sm.worked(20); m.testRemaining(800, 2); SubMonitor child1 = SubMonitor.convert(sm.newChild(50)); child1.setWorkRemaining(100); child1.worked(10); m.testRemaining(750, 2); child1.worked(40); m.testRemaining(550, 2); // child1.message(50); // idealfall // m.testRemaining(300, 2); //idealfall child1.finish(); m.testRemaining(300, 2); sm.worked(20); m.testRemaining(100, 2); SubMonitor child2 = SubMonitor.convert(sm.newChild(10)); child2.setWorkRemaining(500); child2.worked(50); m.testRemaining(90, 2); child2.finish(); m.testRemaining(0, 2); } @Test public void testBar() { JUnitMonitor m = new JUnitMonitor(1000); SubMonitor sm = SubMonitor.convert(m); sm.title("Der Testtask"); sm.start(); sm.message("Message One"); sm.setWorkRemaining(1000); for (int i = 0; i < 400; i++) { sm.worked(1); } m.testConsumed(400, 2); sm.setWorkRemaining(20); sm.message("Message Two"); for (int i = 0; i < 10; i++) { sm.worked(1); } m.testRemaining(300, 1); sm.message("Message Three"); sm.setWorkRemaining(100); for (int i = 0; i < 70; i++) { sm.worked(1); } m.testRemaining(90, 1); sm.message("Message Four"); sm.finish(); } @Test public void testConvert() { JUnitMonitor m = new JUnitMonitor(1000); SubMonitor sm = SubMonitor.convert(m, "Bla", 100); sm.start(); m.testRemaining(1000, 1); sm.worked(50); m.testRemaining(500, 1); } @Test public void testConvert2() { JUnitMonitor m = new JUnitMonitor(1000); SubMonitor sm = SubMonitor.convert(m, 100); sm.start(); m.testRemaining(1000, 1); sm.worked(50); m.testRemaining(500, 1); } @Test public void testChildChain() { JUnitMonitor m = new JUnitMonitor(1000); SubMonitor sm = SubMonitor.convert(m); sm.setWorkRemaining(500); sm.start(); sm.worked(100); m.testRemaining(800, 2); SubMonitor c1 = SubMonitor.convert(sm.newChild(200)); c1.setWorkRemaining(800); c1.worked(100); m.testRemaining(750, 2); c1.worked(100); m.testRemaining(700, 2); SubMonitor c2 = SubMonitor.convert(c1.newChild(400)); c2.setWorkRemaining(100); c2.worked(50); m.testRemaining(600, 1); c2.finish(); m.testRemaining(500, 1); } }