FizzBuzz challenge variant

Hello, I was asked to do a technical challenge which is related to the FizzBuzz challenge at https://www.codecademy.com/paths/introduction-to-android-with-java/tracks/java-arrays-and-loops/modules/learn-java-loops/projects/java-fizzbuzz You need a Pro account to view this.

I must code a program that returns numbers from 1-100. The requirements I must meet are as follows:

  1. Numbers (1-100), which are multiples of 3 will return “Fizz.”

  2. Numbers (1-100), which are multiples of 5 will return “Buzz.”

  3. Numbers (1-100), which are multiples of 15 will return “FizzBuzz”

  4. All the other numbers (1-100), which doesn’t fall into points 1-3 will return the numbers themselves (e.g. 4 just returns 4).

  5. Include a Unit Test.

Could anyone please take a look at the following code and give me some feedback?

class FizzBuzz {
  
  public static void main(String[] args) {
    for (int i = 1; i <= 100; i++) {
      System.out.println(i);

      if (i % 5  && i % 3) {
    System.out.println("FizzBuzz");
  } else if (i % 3 ){
    System.out.println("Fizz");
  } else if (i % 5 ) {
    System.out.println("Buzz");
  } else {
    System.out.println(i);
  }
    }
  }

@Test public void testFizzBuzz()
{ assertEquals("fizz", fizzBuzz(3)); 
assertEquals("buzz", fizzBuzz(5)); 
assertEquals("fizzbuzz", fizzBuzz(15)); 
assertEquals("2", fizzBuzz(2)); }


}