From 51c25832d09373c41f4b5e33dd5a25ae92147396 Mon Sep 17 00:00:00 2001 From: Callum Vidler <callum.vidler@hotmail.com> Date: Sun, 26 Aug 2018 17:32:20 +1000 Subject: [PATCH] first commit --- TEST-swen90006.machine.BoundaryTests.txt | 16 ++++++ TEST-swen90006.machine.PartitioningTests.txt | 7 +++ .../swen90006/machine/PartitioningTests.class | Bin 2229 -> 2066 bytes examples/array.s | 6 +-- key | 51 ++++++++++++++++++ key.pub | 1 + test/swen90006/machine/PartitioningTests.java | 22 ++++---- 7 files changed, 89 insertions(+), 14 deletions(-) create mode 100644 TEST-swen90006.machine.BoundaryTests.txt create mode 100644 TEST-swen90006.machine.PartitioningTests.txt create mode 100644 key create mode 100644 key.pub diff --git a/TEST-swen90006.machine.BoundaryTests.txt b/TEST-swen90006.machine.BoundaryTests.txt new file mode 100644 index 0000000..8e1f85f --- /dev/null +++ b/TEST-swen90006.machine.BoundaryTests.txt @@ -0,0 +1,16 @@ +Testsuite: swen90006.machine.BoundaryTests +Tests run: 5, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.045 sec + +Testcase: anotherTest took 0.002 sec +Testcase: aFileOpenTest took 0.015 sec +Testcase: aFailedTest took 0.002 sec + FAILED +Some failure message expected:<2> but was:<3> +junit.framework.AssertionFailedError: Some failure message expected:<2> but was:<3> + at swen90006.machine.BoundaryTests.aFailedTest(Unknown Source) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + +Testcase: aTest took 0 sec +Testcase: anExceptionTest took 0.001 sec diff --git a/TEST-swen90006.machine.PartitioningTests.txt b/TEST-swen90006.machine.PartitioningTests.txt new file mode 100644 index 0000000..3f90591 --- /dev/null +++ b/TEST-swen90006.machine.PartitioningTests.txt @@ -0,0 +1,7 @@ +Testsuite: swen90006.machine.PartitioningTests +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.039 sec + +Testcase: anotherTest took 0.001 sec +Testcase: aFileOpenTest took 0.015 sec +Testcase: aTest took 0 sec +Testcase: anExceptionTest took 0 sec diff --git a/classes/swen90006/machine/PartitioningTests.class b/classes/swen90006/machine/PartitioningTests.class index af52566636122d3ab4edeca3dfd4fb3e867aa1db..f18ec47fe14f0f146b38fe5def6490170faa1be1 100644 GIT binary patch delta 912 zcmdlgI7y)X)W2Q(7#J8#8EUu~6c{YI7_1nq*%@rO7?>F>IT&oY8O#{$I2i0fv;#=e zk%PgBi$R{jnVrFfi-8BEgNMPDl>q{D*%{op7z9CD-MJV{89cZcJQ=*$8N9g|d>DMW z82lLg*%<;j83GxCI2eMt7(#>?Lb(_u8N#?20vW>D86wyjA}6js!5B5Ugi&?!az-zf zXm*B}$^RHV0~8sQ*coDZ7~&Y>85xAL63Y_xOG`3y^c{<e5-WW&i%S?87!!FI5*QL0 z85omz7?Kzgc^HxzQWzNoQY#X33vyD6^%FsA^@@2Ij2Mh3&tj6RPi07h8J3x^@9FPa zk(^pkl9`{!$iNyJ;-+iC!;sF9!OoD$!;r<0&B!1Cwl^m+FI_*lq$o2lot+_vhas0C zkDVc(hoOL>5M~-!3EVVxh9Vw@Vulh%1`W@=vc#Os6ot&Zg3^-7Va&1ur92E}4COow z6%3U;3{?!(o12+g7&k9u`OH`^&!7MfR}Kb721N!X21W*D1_lN}21W)(1_lOJt?dkq z8^H<~8B`dQ7?{A)ybKIrX{eMc0|Nsa10#bPSXiBqG7YdYO|Y_hkZnQ?EDX#bGq|{R zFfc)^gPExXR;&$H3{q>vz{J4Bz`&rkn}IoUI|GZ4wh-%11~w*!aBU%W7=v{u0|yhs z4hBwaX6eAq(qLez2U{$oCB(Izf!k*{15f0323}ts?QINvts)HkIGm%)pv1ro4hazk zCU8h_>}C**+|D4h9~@SC3=9k`42%r=3?OfCGcYn}F)%V1Br_N?Fo6;VG#JwunDZDw z>DpLGcn5=sFQeZM22pM1y$oX87{qmUFi7|<XOOgF*~B0vB)yG6MiRu@#vseGgF#Mr z0|O%i2ZIEIG=n4qBZCP81A`<3(|-nO1{QV(d3FXdb_P>+1~Udmb_PjN26F}m1||jz G1_l7%fr!rl delta 1056 zcmbOvuvM`B)W2Q(7#J9g8M?U`)EJyu86bd(i@}A#m7T$ji-DEFnS;Tdo56#@lY_wv zM0<lIeK;6=xfoO#{MZ@%xfu8uoIykYOusHWLm(G}Fi2|<OpF<%EtrELgo`1RA&iS5 zoFRf;har-SA&McIiy?*~mYpGvlOdiVfrBBDiy?_2nTtW5A%%+}o*|W;A&s3Oed5Fu zj2V-o7*%<=6WtOsb5c`6Qj1F_*E0I>rm-_bvNL3|Gi0$d#7#cS=*g|lpux_N&BKtx zkULqCNlK5MA&ZA0k0GCtfia1Pp@1QuhoO+6h><}cwIVUMASbn0Ke4DNu~M&?hryD; zYH}KrTzxS^2_u7WR$^JAerCSDr@w1Oa%w?IW_}(cgGg|GZmL3BVrEWhQK~|2YH@L5 zdMe1WQbq>W&=5CW3wDM~9)>c8a(0Fa9)?PWDn<qYut_<IdFlGWB}JKe>Ff;EJPb7q zwd@RaJPh>=4KT~VN?a@Wp|-IzH1aSsF*Hy9%%m&O!o$$Y(8j~i&d|Zb(8<uX*?^ga zQB7RK2i<UMFE7n7Mh5n@{35@^+*C#eJ&nm9S!6fIvYcY9S7lHG$1^7bBZE4F1_L95 zCIbV5AOj-<BLf2itJZb~#*JVFj0{=~8VpQeX<h~furyRkn}LCWje(It2P~{hNSPj3 znLb!qJ;*jO1{MZp1_lN$5e6m^2BsYhED$SU<{E%C7=kr`)EhA{F)%SOFsSWjV2#|) zz~-YZ#J-b(gNY$rTZj|JVBg8W#l*0Kfg77yMliGL88o1l%V-JlY-iy0+0DQgxt)RE zS4VprgFveYgCGv)7&B-vFoQ!wgn<bh8XUVBgd?{zi0lW4mk9#{0}BHqgDC^Z8{7<x z3<eC03}(p;<_wGs76|(#7+Arc=MfSGdtYn^g9N6NnLtSq8v1Dr%nYEMWGp1PgF(ud z(QgNXv^Miz2AORPvN}5$<ouR1NLsOMVo(rL+{U0J31V$yP-fY|prX5hfsuiOL4rY= yL7st;!J2_Vl|hn$=|6)s0}DHY4LgG^JA)lNgFOQyJA;ELgChe20~3Q20|NkR*P@XC diff --git a/examples/array.s b/examples/array.s index 54b5878..65726f4 100644 --- a/examples/array.s +++ b/examples/array.s @@ -12,7 +12,7 @@ ;; R1 holds 'i', which is a counter from 0 .. N-1 ;; R0 holds 'p', the address of the array's ith element MOV R1 0 ; i = 0; - MOV R0 100 + MOV R0 100 SUB R4 R3 R1 ; while(i != N) JZ R4 5 ; { @@ -27,12 +27,12 @@ ;; R0 holds 'p', the address of the array's ith element ;; R5 holds 'sum', which always holds the sum of the array's first i elements MOV R1 0 ; i = 0; - MOV R0 100 + MOV R0 100 MOV R5 0 ; sum = 0; SUB R4 R3 R1 ; while(i != N) JZ R4 6 ; { - LDR R4 R0 0 ; + LDR R4 R0 0 ; ADD R5 R5 R4 ; sum = sum + *p; ADD R0 R0 R2 ; p = p + 1; ADD R1 R1 R2 ; i = i + 1; diff --git a/key b/key new file mode 100644 index 0000000..cc7c1a0 --- /dev/null +++ b/key @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +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 +-----END RSA PRIVATE KEY----- diff --git a/key.pub b/key.pub new file mode 100644 index 0000000..4d7893c --- /dev/null +++ b/key.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDAzjrOqQJhgz2sYMgqhoMzLUkNZnb09LSfRFtSoepSuwLz0DL1R1+kFYy/N0jCzgzQ9CCie/pFPAXadUmGw/+NW3oCuXZU229tBe/KuDFNGn4L7zs04pQ4bXuwAeLTdRC2GiC+x7tELAFIh6Tt0FWshNzFvvwU0wqSYsN4Kqw7XnmWcvqdlyZgHnBzEX7m+BiSZDgo4PJeam8gAZsvA/wLSfyhKuJBaS0SLUyamhPaecjN+f4UUhs2LgAHv6juEz+2HvR+s17u6KN1VpPzgaBXDGJq6OSm59qdHJ1fWqsjAsNu/AkC7vLALKiXRhlJyCouSWrAM20m7YXvuc6/aKxQJ/vPcZfPwQnRkMVx7wQ/lrvlCZzoCFxVv/WjWduR/H45jrwl7WuDMwi+rHJhGQzrP7PSH84qgWKgekVeLnnDC5ZOlH+a4ft/gLVNZUZ0gZ6/Lu7DfGc+xZ711jrYvbAZdMsfkODsqyhJ1Y2qDhFLVbuEjFIU0rBtI2HhUHHFnkNP2YPr6QNdQAwaIAXVsZ1R3sKeOO6pVDXczdl3bHAAprxkI7nMXSgN5TciICvwk4oKWlP8Gud/nfHhIrQ+RJ8qwKL3Rlzol/aq6nWILSZzNVrquzE2Iup9Jm9cNMAXt36l9eCfsJHsNulRJJbzv+LxYhuXVtEXKfRLmvYDGxMlww== cvidler@student.unimelb.edu.au diff --git a/test/swen90006/machine/PartitioningTests.java b/test/swen90006/machine/PartitioningTests.java index 5494b44..8ecb32f 100644 --- a/test/swen90006/machine/PartitioningTests.java +++ b/test/swen90006/machine/PartitioningTests.java @@ -29,8 +29,8 @@ public class PartitioningTests { //the assertEquals method used to check whether two values are //equal, using the equals method - final int expected = 2; - final int actual = 1 + 1; + final int expected = 1; + final int actual = 2 / 2; assertEquals(expected, actual); } @@ -51,9 +51,9 @@ public class PartitioningTests Machine m = new Machine(); assertEquals(m.execute(lines), 45); } - + //To test an exception, specify the expected exception after the @Test - @Test(expected = java.io.IOException.class) + @Test(expected = java.io.IOException.class) public void anExceptionTest() throws Throwable { @@ -63,13 +63,13 @@ public class PartitioningTests //This test should fail. //To provide additional feedback when a test fails, an error message //can be included - @Test public void aFailedTest() - { - //include a message for better feedback - final int expected = 2; - final int actual = 1 + 2; - assertEquals("Some failure message", expected, actual); - } + // @Test public void aFailedTest() + // { + // //include a message for better feedback + // final int expected = 2; + // final int actual = 1 + 2; + // assertEquals("Some failure message", expected, actual); + // } //Read in a file containing a program and convert into a list of //string instructions -- GitLab