Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
4cdf66e
Scaffolded project
SketchRudy Apr 8, 2025
5e7419a
Test structure
SketchRudy Apr 8, 2025
72c81dc
rj commit
RJRico17 Apr 8, 2025
8f0a244
Merge branch 'main' of https://github.com/SketchRudy/dynamicArray
RJRico17 Apr 8, 2025
223b692
Added interface
SketchRudy Apr 8, 2025
d9d5a1e
Fixed merge conflict, implemented interface in main
SketchRudy Apr 8, 2025
6b29ff3
test
RJRico17 Apr 8, 2025
f446cbe
Merge branch 'main' of https://github.com/SketchRudy/dynamicArray
RJRico17 Apr 8, 2025
f51cdf8
Fixed white space
SketchRudy Apr 8, 2025
419ad5b
Merge branch 'main' of https://github.com/SketchRudy/dynamicArray
RJRico17 Apr 8, 2025
4c842f4
added paramter
SketchRudy Apr 8, 2025
5a624ef
Merge branch 'main' of https://github.com/SketchRudy/dynamicArray
SketchRudy Apr 8, 2025
2a2472d
Changed placeholders
SketchRudy Apr 8, 2025
f4b95d5
Added array
SketchRudy Apr 8, 2025
c67366a
rj stuff
RJRico17 Apr 8, 2025
81b0c84
made methods, unsure if correct will write testcases
RJRico17 Apr 9, 2025
5db30cc
trying to fix merge conflicts
RJRico17 Apr 9, 2025
2ce9a03
First test
SketchRudy Apr 10, 2025
471df36
Fixed minor errors
SketchRudy Apr 10, 2025
e0633eb
Minor fix
SketchRudy Apr 10, 2025
7e32d2c
used jUnit5
SketchRudy Apr 10, 2025
8f4fd69
Switched file directory
SketchRudy Apr 10, 2025
39e9e39
Tests added
SketchRudy Apr 10, 2025
efa97ff
Tested adding strings and removing
SketchRudy Apr 10, 2025
5b5a7cf
Added test for appending elements
SketchRudy Apr 10, 2025
c077742
Finished tests
SketchRudy Apr 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions src/DynamicStringList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
public class DynamicStringList implements StringList{
String[] strList = new String[1];
private int size = 0;

@Override
public String get(int x) {
return strList[x];
}
@Override
public void set(int x, String str) {
strList[x] = str;
}

@Override
public void add(String str) {
if (size == strList.length) {
String[] newStrList = new String[strList.length*2];
for (int i = 0; i < strList.length; i++) {
newStrList[i] = strList[i];
}
strList = newStrList;
}
strList[size] = str;
size++;
}

@Override
public String remove(int x) {
String removed = strList[x];
for (int i = x; i < size - 1; i++) {
strList[i] = strList[i+1];
}

strList[size - 1] = null;
size--;
return removed;
}

@Override
public int size() {
return size;
}

@Override
public int capacity() {
return strList.length;
}
}
//testing stuff without the @test, try to make stuff in maintest

// class Main {
// public static void main(String[] args) {
// DynamicStringList dsl = new DynamicStringList();
// dsl.add("RJ");
// System.out.println(dsl.get(0));
// dsl.add("RJ");
// System.out.println(dsl.get(0));
// System.out.println(dsl.size());
// for (int i = 0; i < dsl.capacity(); i++) {
// System.out.println(dsl.get(i));
// }
// }
// }
93 changes: 93 additions & 0 deletions src/DynamicStringListTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
import org.junit.jupiter.api.Test;

import static org.junit.Assert.assertEquals;
import static org.junit.jupiter.api.Assertions.*;


public class DynamicStringListTest {

@Test
void testReturnStringAtSpecifiedIndex() {
// Arrange
DynamicStringList list = new DynamicStringList();
list.add("Hello");
list.add("World");
// Act
String result = list.get(1);
// Assert
assertEquals("World", result);
}

@Test
void testReplacingStringAtGivenIndexWithGivenValue() {
// Arrange
DynamicStringList list = new DynamicStringList();
// Act
list.add("dog");
list.set(0, "Cat");
// Assert
assertEquals("Cat", list.get(0));
}

@Test
void testAddNewStringToEndOfList() {
// Arrange
DynamicStringList list = new DynamicStringList();
// Act
list.add("X");
list.add("Y");
list.add("Z");
// Assert
assertEquals(3, list.size());
assertEquals("X", list.get(0));
assertEquals("Y", list.get(1));
assertEquals("Z", list.get(2));
}

@Test
void testRemoveStringAtGivenIndex() {
// Arrange
DynamicStringList list = new DynamicStringList();
list.add("Person");
list.add("Beta");
// Act
String removed = list.remove(1);
// Assert
assertEquals("Beta", removed);
assertEquals(1, list.size());

}

@Test
void testCurrentElementsInString () {
// Arrange
DynamicStringList list = new DynamicStringList();
list.add("me");
list.add("him");
list.add("her");
// Act

// Assert
assertEquals("me", list.get(0));
assertEquals("him", list.get(1));
assertEquals("her", list.get(2));
}

@Test
void testMaxCapacityOfArray() {
// Arrange
DynamicStringList list = new DynamicStringList();
// Act
for (int i = 0; i < 10; i++) {
list.add("Item" + i);
}

// Assert
assertTrue(list.capacity() >=10);

assertEquals(10, list.size());
assertEquals("Item0", list.get(0));
}


}