Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

This file has multiple tests for the single test cases. Break the existing tests

ID: 3716720 • Letter: T

Question

This file has multiple tests for the single test cases.

Break the existing tests into separate test instances

package com.hundredwordsgof.observer;

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

import org.junit.jupiter.api.BeforeAll;

import org.junit.jupiter.api.Test;

public class ObserverTest {

@Test

public void testObserver() throws CloneNotSupportedException {

ConcreteSubject subject = new ConcreteSubject();

Observer observer = new ConcreteObserver(subject);

subject.attach(observer);

subject.setState(1);

  

assertEquals(1, ((ConcreteObserver) observer).getObserverState());

subject.dettach(observer);

subject.setState(0);

  

assertEquals(1, ((ConcreteObserver) observer).getObserverState());

}

}

Explanation / Answer

Hi

According to my understanding, your question says that the test method tests multiple cases in same instance but you need different instances.
So, this should be the approach, let me know in case of any concern.

package com.hundredwordsgof.observer;

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

import org.junit.jupiter.api.BeforeAll;

import org.junit.jupiter.api.Test;

public class ObserverTest {

@Test

public void testObserver() throws CloneNotSupportedException {

ConcreteSubject subject = new ConcreteSubject();

Observer observer = new ConcreteObserver(subject);

subject.attach(observer);

subject.setState(1);

assertEquals(1, ((ConcreteObserver) observer).getObserverState());

}

@Test

public void testObserver2() throws CloneNotSupportedException {

ConcreteSubject subject = new ConcreteSubject();

Observer observer = new ConcreteObserver(subject);

subject.attach(observer);

subject.dettach(observer);

subject.setState(0);

assertEquals(1, ((ConcreteObserver) observer).getObserverState());

}

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote