Compare commits

...

2 Commits

15 changed files with 146 additions and 16 deletions

2
.idea/gradle.xml generated
View File

@ -9,8 +9,10 @@
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/clients" />
<option value="$PROJECT_DIR$/common" />
<option value="$PROJECT_DIR$/module4" />
<option value="$PROJECT_DIR$/module5" />
<option value="$PROJECT_DIR$/module6" />
</set>
</option>
</GradleProjectSettings>

View File

@ -14,6 +14,9 @@ dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter'
implementation project(':module4')
implementation project(':module5')
implementation project(':module6')
implementation project(':common')
testImplementation project(':common')
}
java {
toolchain {

View File

@ -1,8 +1,8 @@
package com.hithomelabs.clients.module5;
import com.hithomelabs.princeton1.module5.Insertion;
import com.hithomelabs.princeton1.module5.Apple;
import com.hithomelabs.princeton1.module5.Orange;
import com.hithomelabs.princeton1.common.Apple;
import com.hithomelabs.princeton1.common.Orange;
public class InsertionClient {

View File

@ -1,6 +1,6 @@
package com.hithomelabs.clients.module5;
import com.hithomelabs.princeton1.module5.Apple;
import com.hithomelabs.princeton1.common.Apple;
import com.hithomelabs.princeton1.module5.Shell;
import java.util.Arrays;

View File

@ -0,0 +1,23 @@
package com.hithomelabs.clients.module6;
import com.hithomelabs.princeton1.common.Apple;
import com.hithomelabs.princeton1.module6.Merge;
import java.util.Random;
public class MergeClient {
public static void main(String[] args) {
int size = 100;
Apple[] apples = new Apple[size];
Merge<Apple> merge = new Merge<Apple>();
for (int i = 0; i < apples.length; i++) {
apples[i] = new Apple(new Random().nextInt(1000));
}
merge.sort(apples);
for (int i = 0; i < apples.length; i++)
System.out.println(apples[i]);
}
}

24
common/build.gradle Normal file
View File

@ -0,0 +1,24 @@
plugins {
id 'java'
}
group = 'com.hithomelabs.princeton1.common'
version = 'unspecified'
repositories {
mavenCentral()
}
dependencies {
testImplementation platform('org.junit:junit-bom:5.10.0')
testImplementation 'org.junit.jupiter:junit-jupiter'
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(11)
}
}
test {
useJUnitPlatform()
}

View File

@ -1,4 +1,4 @@
package com.hithomelabs.princeton1.module5;
package com.hithomelabs.princeton1.common;
import java.util.Objects;

View File

@ -1,4 +1,4 @@
package com.hithomelabs.princeton1.module5;
package com.hithomelabs.princeton1.common;
public class Orange {
private int size;

View File

@ -12,6 +12,7 @@ repositories {
dependencies {
testImplementation platform('org.junit:junit-bom:5.10.0')
testImplementation 'org.junit.jupiter:junit-jupiter'
testImplementation project(':common')
}
java {
toolchain {

View File

@ -30,7 +30,7 @@ public class Shell<E> extends AbstractCustomSorts<E> {
return 0;
}
/*
! sample implementation of insertion sort as h-sort of h = 1
* Sample implementation of insertion sort as h-sort of h = 1
* Will just be comparing the number of saps taken across both implementations
*/
public void insertionSort(E[] arr){

View File

@ -4,12 +4,10 @@ import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import com.hithomelabs.princeton1.common.Apple;
import java.util.ArrayList;
import java.util.Random;
import static org.junit.jupiter.api.Assertions.*;
class SortTest {
private ArrayList<Apple> apples;
@ -26,11 +24,7 @@ class SortTest {
private void testSort(AbstractCustomSorts<Apple> sortingAlgorithm) {
for (int i = 0; i < 100; i++)
apples.add(new Apple(random.nextInt(100)));
Apple[] arr = apples.toArray(new Apple[apples.size()]);
apples.sort(null);
Apple[] sorted = apples.toArray(new Apple[apples.size()]);
sortingAlgorithm.sort(arr);
assertArrayEquals(sorted, arr);
}
@Test
@ -54,7 +48,6 @@ class SortTest {
testSort(sortingAlgorithm);
}
@AfterEach
void tearDown() {
sortingAlgorithm = null;

25
module6/build.gradle Normal file
View File

@ -0,0 +1,25 @@
plugins {
id 'java'
}
group = 'com.hithomelabs.princeton1.module6'
version = 'unspecified'
repositories {
mavenCentral()
}
dependencies {
testImplementation platform('org.junit:junit-bom:5.10.0')
testImplementation 'org.junit.jupiter:junit-jupiter'
implementation project(':module5')
testImplementation project(':common')
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(11)
}
}
test {
useJUnitPlatform()
}

View File

@ -0,0 +1,13 @@
package com.hithomelabs.princeton1.module6;
import com.hithomelabs.princeton1.module5.AbstractCustomSorts;
import java.util.Arrays;
public class Merge<E> extends AbstractCustomSorts<E> {
@Override
public void sort(E[] arr) {
}
}

View File

@ -0,0 +1,44 @@
package com.hithomelabs.princeton1.module6;
import com.hithomelabs.princeton1.module5.AbstractCustomSorts;
import com.hithomelabs.princeton1.common.Apple;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.Random;
import static org.junit.jupiter.api.Assertions.*;
class MergeTest {
private AbstractCustomSorts<Apple> sortingAlgorithm;
private ArrayList<Apple> apples;
private Random random;
@BeforeEach
void setUp() {
apples = new ArrayList<>();
random = new Random();
}
@Test
@DisplayName("Merge Sort test client")
public void testSort(){
sortingAlgorithm = new Merge<Apple>();
for(int i = 0; i < 10; i++)
apples.add(new Apple(random.nextInt(100)));
Apple[] arr = apples.toArray(new Apple[apples.size()]);
apples.sort(null);
Apple[] sorted = apples.toArray(new Apple[apples.size()]);
sortingAlgorithm.sort(arr);
assertArrayEquals(sorted, arr);
}
@AfterEach
void tearDown() {
sortingAlgorithm = null;
}
}

View File

@ -11,7 +11,9 @@ plugins {
}
rootProject.name = 'Pricenton1'
include('module4')
include 'module4'
include 'clients'
include 'module5'
include 'module6'
include 'common'