From 56570ff0f9f0bc9f56f29e135b9ef1030f6a25b7 Mon Sep 17 00:00:00 2001 From: mkbrown261 Date: Tue, 10 Mar 2026 09:19:00 -0400 Subject: [PATCH 1/2] finished-test-class --- src/main/java/masonbrown/Animal.java | 84 +++++++++++++ src/test/java/masonbrowntest/AnimalTest.java | 123 +++++++++++++++++++ 2 files changed, 207 insertions(+) create mode 100644 src/main/java/masonbrown/Animal.java create mode 100644 src/test/java/masonbrowntest/AnimalTest.java diff --git a/src/main/java/masonbrown/Animal.java b/src/main/java/masonbrown/Animal.java new file mode 100644 index 0000000..5d9dbc1 --- /dev/null +++ b/src/main/java/masonbrown/Animal.java @@ -0,0 +1,84 @@ +package masonbrown; + +public class Animal { + + private String sound; + private int age; + private String name; + private double maxSpeed; + private String color; + + // Constructor + public Animal(String sound, int age, String name, double maxSpeed, String color) { + + if (age < 0) { + throw new IllegalArgumentException("Age cannot be negative"); + } + + this.sound = sound; + this.age = age; + this.name = name; + this.maxSpeed = maxSpeed; + this.color = color; + } + + // Getters + public String getSound() { + return sound; + } + + public int getAge() { + return age; + } + + public String getName() { + return name; + } + + public double getMaxSpeed() { + return maxSpeed; + } + + public String getColor() { + return color; + } + + // Setters + public void setSound(String sound) { + this.sound = sound; + } + + public void setAge(int age) { + if (age < 0) { + throw new IllegalArgumentException("Age cannot be negative"); + } + this.age = age; + } + + public void setName(String name) { + this.name = name; + } + + public void setMaxSpeed(double maxSpeed) { + this.maxSpeed = maxSpeed; + } + + public void setColor(String color) { + this.color = color; + } + + // Custom Method 1 + public String makeSound() { + return sound; + } + + // Custom Method 2 + public boolean isFast() { + return maxSpeed > 10; + } + + @Override + public String toString() { + return name + " is a " + color + " animal that makes the sound " + sound; + } +} diff --git a/src/test/java/masonbrowntest/AnimalTest.java b/src/test/java/masonbrowntest/AnimalTest.java new file mode 100644 index 0000000..0576958 --- /dev/null +++ b/src/test/java/masonbrowntest/AnimalTest.java @@ -0,0 +1,123 @@ +package masonbrowntest; + +import masonbrown.Animal; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class AnimalTest { + + @Test + public void constructorShouldCreateAnimalWithValidData() { + + // Arrange + Animal animal = new Animal("Meow", 3, "Marco", 15.5, "Coal"); + + // Act + Assert + assertEquals("Meow", animal.getSound()); + assertEquals(3, animal.getAge()); + assertEquals("Marco", animal.getName()); + assertEquals(15.5, animal.getMaxSpeed()); + assertEquals("Coal", animal.getColor()); + } + + @Test + public void constructorWithNegativeAgeShouldThrowException() { + + assertThrows( + IllegalArgumentException.class, + () -> new Animal("Meow", -1, "Marco", 15.5, "Coal") + ); + } + + @Test + public void setSoundShouldUpdateSound() { + + // Arrange + Animal animal = new Animal("Meow", 3, "Marco", 15.5, "Coal"); + + // Act + animal.setSound("Roar"); + + // Assert + assertEquals("Roar", animal.getSound()); + } + + @Test + public void setAgeShouldUpdateAge() { + + // Arrange + Animal animal = new Animal("Meow", 3, "Marco", 15.5, "Coal"); + + // Act + animal.setAge(5); + + // Assert + assertEquals(5, animal.getAge()); + } + + @Test + public void setAgeWithNegativeValueShouldThrowException() { + + // Arrange + Animal animal = new Animal("Meow", 3, "Marco", 15.5, "Coal"); + + // Act + Assert + assertThrows( + IllegalArgumentException.class, + () -> animal.setAge(-1) + ); + } + + @Test + public void setColorShouldUpdateColor() { + + // Arrange + Animal animal = new Animal("Meow", 3, "Marco", 15.5, "Coal"); + + // Act + animal.setColor("Brown"); + + // Assert + assertEquals("Brown", animal.getColor()); + } + + @Test + public void makeSoundShouldReturnSound() { + + // Arrange + Animal animal = new Animal("Meow", 3, "Marco", 15.5, "Coal"); + + // Act + String result = animal.makeSound(); + + // Assert + assertEquals("Meow", result); + } + + @Test + public void isFastShouldReturnTrueWhenSpeedGreaterThan10() { + + // Arrange + Animal animal = new Animal("Meow", 3, "Marco", 15.5, "Coal"); + + // Act + boolean result = animal.isFast(); + + // Assert + assertTrue(result); + } + + @Test + public void isFastShouldReturnFalseWhenSpeedLessThanOrEqualTo10() { + + // Arrange + Animal animal = new Animal("Meow", 3, "Marco", 5, "Coal"); + + // Act + boolean result = animal.isFast(); + + // Assert + assertFalse(result); + } +} \ No newline at end of file From 27d97a0816608fd01d4435f250aaff00425837ee Mon Sep 17 00:00:00 2001 From: mkbrown261 Date: Tue, 10 Mar 2026 09:24:48 -0400 Subject: [PATCH 2/2] mason-test-class --- src/main/java/masonbrown/Animal.java | 1 + src/test/java/masonbrowntest/AnimalTest.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/masonbrown/Animal.java b/src/main/java/masonbrown/Animal.java index 5d9dbc1..4f86787 100644 --- a/src/main/java/masonbrown/Animal.java +++ b/src/main/java/masonbrown/Animal.java @@ -82,3 +82,4 @@ public String toString() { return name + " is a " + color + " animal that makes the sound " + sound; } } + diff --git a/src/test/java/masonbrowntest/AnimalTest.java b/src/test/java/masonbrowntest/AnimalTest.java index 0576958..13cfadf 100644 --- a/src/test/java/masonbrowntest/AnimalTest.java +++ b/src/test/java/masonbrowntest/AnimalTest.java @@ -120,4 +120,4 @@ public void isFastShouldReturnFalseWhenSpeedLessThanOrEqualTo10() { // Assert assertFalse(result); } -} \ No newline at end of file +}