From c2007f62b1b83732e08f0083a0f7d625cba38497 Mon Sep 17 00:00:00 2001 From: bancika Date: Thu, 9 Apr 2020 23:45:16 +0200 Subject: [PATCH] add unit tests --- diylc/diylc-library/lib/diylc-core.jar | Bin 314372 -> 314372 bytes diylc/diylc-swing/.classpath | 43 +++++++++--------- diylc/diylc-swing/lib/diylc-core.jar | Bin 314372 -> 314372 bytes diylc/diylc-swing/library/main.jar | Bin 665507 -> 665507 bytes .../diylc-swing/test/org/diylc/MockView.java | 37 +++++++++++++++ .../test/org/diylc/PresenterTests.java | 27 +++++++++++ .../diylc-swing/test/org/diylc/TestBase.java | 39 ++++++++++++++++ 7 files changed, 125 insertions(+), 21 deletions(-) create mode 100644 diylc/diylc-swing/test/org/diylc/MockView.java create mode 100644 diylc/diylc-swing/test/org/diylc/PresenterTests.java create mode 100644 diylc/diylc-swing/test/org/diylc/TestBase.java diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index 55e12312d093dbc27a5609ddcbff79e660f72e4b..9803f9fc4dcdabb77dedcf623d5d97f600b0aa52 100644 GIT binary patch delta 4864 zcmY*bXH-?!5@zqS1wjxLR{%RED%OZG5*yf+fLNl~AYx5a5{M$GpnxEX6oCsIiVYAD zq^PI|Y%~oZiN+P%I!sm>NL;9X$PsG=w`y=)oGYN6& z#~je$J@zfQFLRpG8StRXO*C(sVuKhn)dR6*+9a&nb7m~!vDq1j)7=8FyK^4TQ9nLE z1##-am58~XcE*sm%F7=89sJ_M9uJ=vJ531<=rxQ3%$sO!B^P$PA(l^@m|r zhC@eMB$Neb&Bvf?IcpI=&Kromc%2Hz8b6(>Mn1dT7;6<)*q~l}o_czEF${ITs{82g zahXQ$f2A0!^{cxD)&8z~)3vE2dR|=Cy>T{No^oMW*=S$ZuVD;C8x}RbvjB6$gCS1W zjEsyN4L*$nRO2LJZAkv^4)po;_fA+R|N3W$9XDL@M9sQYjdjhMUn2kRUMtS%e(Oop z6CTu}ebJ+5sLyEIiS{eM{X^J(9__oH=b?S*@Ar{6{lmcoJ5CJfwP&5|_^IspQQtD} zw~^@g@ZGOaU;B=;w?L>3o!C(z{ES((f|37Sba&PU8F^nA=C}3Lyv*2c@YEifvsQD9 zn{v6694goQD@H~e)%hOGR(ov6A{4o0+QvStI|`xw*=Q8X-e&_*Xdc8&6$~!v^`hyz zOn+6)@@2NFSElHu*$riP;aX~c3}E<`m;7i$5)5F3-d$o!MV@m&ZECB_+ zfhA$eR9`0F2buehA52>cKW<`2Pzc(>+>L>`63n8}XI?04Mqzjadxt*5qL>>pTceqV zf@2&Tih_3n3jslmcjNDC{}|XNq&KO|2FDkZ$zqYQJIt=3@LRTA1r$ulV}D}$*a9{i znOj9{0Ww2N*$@n0RL1%U9H7s{SnDJ!BcnJgb-tS%psKN4+z#h@_5%i4HL@otbbQY& zFkhD&%ozo@Cbk`gy4%bdqfFY^G*jrp{UxhGlhvOr5rv%Btdizm?>?d6zTDP3xUH&x zfiTq)I@qsRW!t}O3Az1UJ>bN9ayPoESvK5OJ@7B_rZm{apv+lmTmY=AS5C%E>L zH}FS54Bp72@Iff`<1H4z#O~lv;c3x=!})p?9!GL(6yENEzND!*hChLPYI+=h3`BT5 zcQ*s!dKz!T*Pk}Y$21=`z&=Xm^Q*ic3ZaesCKg|KjW5MCr8oFU6n<*rbI~;F zHt&kU-mo7;6f{z@~sv4?CGvdbO7PXc;yBRZn_I*zK2kc3E#CpJYd*pm2dhZph0c&&|94$72o*XUf$a%L#i@BhW z+ef%>ANAL~PxdSA4l$%}jiGvtF*J|RTD)c2hIw7*C9(|Z2dPwVzhpuFWeS|^HSkk?PgMjZzyiM7DTCkbD` zjwFg(Y@oa)2GUKFslHb-@ny+0Ptz2tyE=vVb15{BE~$iGskH8ssnoZrN^vVximOm* zPNr$Jf8J@N7pGyp)O1R_I9(oFIflG+ITne}(&e?0I3`0L1Bp>O-pP<*QXiHn(?|@? z6w?5!GQ|u)lLPX&NL+Y;;xlyo`2gj0I7sM!P##z5ci|w#DTm14Rmc5@~q90aPr8Zrjm1LI1h7Zaifk>Qz1ImAEhR2b1A7$t~_fpzA%@PzSQ|~c@!U& zM`ye_kIvqxe2UwePyUtpaYVPS<>g>@^$O2A&{NDnNB+V;GKdj^LI?ni(_%t2cb#$&HKCzDG@k<@mpIlG%57f(b$@}(KJ)OI$4TSLx hv`_aym;E|iB|Y#e=`~kr|1BG-ztxSD|8%36_dg+AC}{uy delta 4864 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 Ku>PS2HSzz>0sqzj diff --git a/diylc/diylc-swing/.classpath b/diylc/diylc-swing/.classpath index e7dc1029..77c36058 100644 --- a/diylc/diylc-swing/.classpath +++ b/diylc/diylc-swing/.classpath @@ -1,21 +1,22 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index 55e12312d093dbc27a5609ddcbff79e660f72e4b..9803f9fc4dcdabb77dedcf623d5d97f600b0aa52 100644 GIT binary patch delta 4864 zcmY*bXH-?!5@zqS1wjxLR{%RED%OZG5*yf+fLNl~AYx5a5{M$GpnxEX6oCsIiVYAD zq^PI|Y%~oZiN+P%I!sm>NL;9X$PsG=w`y=)oGYN6& z#~je$J@zfQFLRpG8StRXO*C(sVuKhn)dR6*+9a&nb7m~!vDq1j)7=8FyK^4TQ9nLE z1##-am58~XcE*sm%F7=89sJ_M9uJ=vJ531<=rxQ3%$sO!B^P$PA(l^@m|r zhC@eMB$Neb&Bvf?IcpI=&Kromc%2Hz8b6(>Mn1dT7;6<)*q~l}o_czEF${ITs{82g zahXQ$f2A0!^{cxD)&8z~)3vE2dR|=Cy>T{No^oMW*=S$ZuVD;C8x}RbvjB6$gCS1W zjEsyN4L*$nRO2LJZAkv^4)po;_fA+R|N3W$9XDL@M9sQYjdjhMUn2kRUMtS%e(Oop z6CTu}ebJ+5sLyEIiS{eM{X^J(9__oH=b?S*@Ar{6{lmcoJ5CJfwP&5|_^IspQQtD} zw~^@g@ZGOaU;B=;w?L>3o!C(z{ES((f|37Sba&PU8F^nA=C}3Lyv*2c@YEifvsQD9 zn{v6694goQD@H~e)%hOGR(ov6A{4o0+QvStI|`xw*=Q8X-e&_*Xdc8&6$~!v^`hyz zOn+6)@@2NFSElHu*$riP;aX~c3}E<`m;7i$5)5F3-d$o!MV@m&ZECB_+ zfhA$eR9`0F2buehA52>cKW<`2Pzc(>+>L>`63n8}XI?04Mqzjadxt*5qL>>pTceqV zf@2&Tih_3n3jslmcjNDC{}|XNq&KO|2FDkZ$zqYQJIt=3@LRTA1r$ulV}D}$*a9{i znOj9{0Ww2N*$@n0RL1%U9H7s{SnDJ!BcnJgb-tS%psKN4+z#h@_5%i4HL@otbbQY& zFkhD&%ozo@Cbk`gy4%bdqfFY^G*jrp{UxhGlhvOr5rv%Btdizm?>?d6zTDP3xUH&x zfiTq)I@qsRW!t}O3Az1UJ>bN9ayPoESvK5OJ@7B_rZm{apv+lmTmY=AS5C%E>L zH}FS54Bp72@Iff`<1H4z#O~lv;c3x=!})p?9!GL(6yENEzND!*hChLPYI+=h3`BT5 zcQ*s!dKz!T*Pk}Y$21=`z&=Xm^Q*ic3ZaesCKg|KjW5MCr8oFU6n<*rbI~;F zHt&kU-mo7;6f{z@~sv4?CGvdbO7PXc;yBRZn_I*zK2kc3E#CpJYd*pm2dhZph0c&&|94$72o*XUf$a%L#i@BhW z+ef%>ANAL~PxdSA4l$%}jiGvtF*J|RTD)c2hIw7*C9(|Z2dPwVzhpuFWeS|^HSkk?PgMjZzyiM7DTCkbD` zjwFg(Y@oa)2GUKFslHb-@ny+0Ptz2tyE=vVb15{BE~$iGskH8ssnoZrN^vVximOm* zPNr$Jf8J@N7pGyp)O1R_I9(oFIflG+ITne}(&e?0I3`0L1Bp>O-pP<*QXiHn(?|@? z6w?5!GQ|u)lLPX&NL+Y;;xlyo`2gj0I7sM!P##z5ci|w#DTm14Rmc5@~q90aPr8Zrjm1LI1h7Zaifk>Qz1ImAEhR2b1A7$t~_fpzA%@PzSQ|~c@!U& zM`ye_kIvqxe2UwePyUtpaYVPS<>g>@^$O2A&{NDnNB+V;GKdj^LI?ni(_%t2cb#$&HKCzDG@k<@mpIlG%57f(b$@}(KJ)OI$4TSLx hv`_aym;E|iB|Y#e=`~kr|1BG-ztxSD|8%36_dg+AC}{uy delta 4864 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 Ku>PS2HSzz>0sqzj diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar index cd2260660e8127ce8128b80aecb0c555923efd77..33ab2867aab75be60cf58180005ce33e75f773dc 100644 GIT binary patch delta 5429 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 diff --git a/diylc/diylc-swing/test/org/diylc/MockView.java b/diylc/diylc-swing/test/org/diylc/MockView.java new file mode 100644 index 00000000..69659768 --- /dev/null +++ b/diylc/diylc-swing/test/org/diylc/MockView.java @@ -0,0 +1,37 @@ +package org.diylc; + +import java.io.File; +import java.util.List; +import java.util.Set; + +import org.diylc.common.PropertyWrapper; +import org.diylc.core.IView; + +public class MockView implements IView { + + @Override + public void showMessage(String message, String title, int messageType) { + // TODO Auto-generated method stub + + } + + @Override + public int showConfirmDialog(String message, String title, int optionType, int messageType) { + // TODO Auto-generated method stub + return 0; + } + + @Override + public boolean editProperties(List properties, + Set defaultedProperties) { + // TODO Auto-generated method stub + return false; + } + + @Override + public File promptFileSave() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/diylc/diylc-swing/test/org/diylc/PresenterTests.java b/diylc/diylc-swing/test/org/diylc/PresenterTests.java new file mode 100644 index 00000000..f9bad25c --- /dev/null +++ b/diylc/diylc-swing/test/org/diylc/PresenterTests.java @@ -0,0 +1,27 @@ +package org.diylc; + +import java.awt.Point; + +import org.junit.Test; + +import junit.framework.Assert; + +public class PresenterTests extends TestBase { + + @Test + public void testComponentLoad() { + Assert.assertTrue(presenter.getComponentTypes() != null && presenter.getComponentTypes().size() > 0); + } + + @Test + public void testTwoClickAdd() { + instantiateTwoClick("Passive", "Resistor", new Point(1000, 1000), new Point(1200, 1000)); + Assert.assertEquals(1, presenter.getCurrentProject().getComponents().size()); + } + + @Test + public void testOneClickAdd() { + instantiateOneClick("Connectivity", "Solder Pad", new Point(1000, 1000)); + Assert.assertEquals(1, presenter.getCurrentProject().getComponents().size()); + } +} diff --git a/diylc/diylc-swing/test/org/diylc/TestBase.java b/diylc/diylc-swing/test/org/diylc/TestBase.java new file mode 100644 index 00000000..160c1e1f --- /dev/null +++ b/diylc/diylc-swing/test/org/diylc/TestBase.java @@ -0,0 +1,39 @@ +package org.diylc; + +import java.awt.Point; +import java.awt.event.MouseEvent; +import java.util.List; +import java.util.Map; + +import org.diylc.appframework.miscutils.ConfigurationManager; +import org.diylc.common.ComponentType; +import org.diylc.core.IView; +import org.diylc.presenter.Presenter; + +public class TestBase { + + protected Presenter presenter; + protected IView view; + + public TestBase() { + ConfigurationManager.initialize("diylc-test"); + view = new MockView(); + presenter = new Presenter(view); + } + + protected void instantiateOneClick(String category, String name, Point point1) { + Map> componentTypes = presenter.getComponentTypes(); + ComponentType resistorType = componentTypes.get(category).stream().filter(x -> x.getName().equals(name)).findFirst().get(); + presenter.setNewComponentTypeSlot(resistorType, null, false); + presenter.mouseClicked(point1, MouseEvent.BUTTON1, false, false, false, 1); + } + + protected void instantiateTwoClick(String category, String name, Point point1, Point point2) { + Map> componentTypes = presenter.getComponentTypes(); + ComponentType resistorType = componentTypes.get(category).stream().filter(x -> x.getName().equals(name)).findFirst().get(); + presenter.setNewComponentTypeSlot(resistorType, null, false); + presenter.mouseClicked(point1, MouseEvent.BUTTON1, false, false, false, 1); + presenter.mouseMoved(point2, false, false, false); + presenter.mouseClicked(point2, MouseEvent.BUTTON1, false, false, false, 1); + } +}