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