Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 2 additions & 0 deletions lesson06/.idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions lesson06/.idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions lesson06/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions lesson06/.idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions lesson06/lesson06.iml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4" />
27 changes: 27 additions & 0 deletions lesson06/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>


<groupId>org.example</groupId>
<artifactId>lesson06</artifactId>
<version>1.0-SNAPSHOT</version>

<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.6.2</version>
<scope>test</scope>
</dependency>
</dependencies>


</project>
13 changes: 13 additions & 0 deletions lesson06/src/Geekbrains/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package Geekbrains;

import java.util.logging.LogManager;
import java.util.logging.Logger;

public class Main {

private static final Logger LOGGER = LogManager.getLogManager(MainApp.);

public static void main(String[] args) {

}
}
55 changes: 55 additions & 0 deletions lesson06/src/main/java/ArrayTestClass.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ArrayTestClass {
public String arrayAfterFour(int[] array) {
List<Integer> listOfInt = new ArrayList<Integer>();
int[] newArrayAfterFour = new int[0];
boolean checkFour = false;
// проходим по всем элементам массива
for (int i = 0; i < array.length; i++) {
// если есть четверки
if (array[i] == 4) {
// то создаем новый array
newArrayAfterFour = new int[array.length - (i + 1)];
for (int j = 0, a = i; j < newArrayAfterFour.length; a++, j++) {
// и заполняем его тем что справа от четверки
newArrayAfterFour[j] = array[a + 1];
}
// если хоть раз зашли в условие, то флажок true
checkFour = true;
}
// и так проходим по всему массиву, создавая заново, newArrayAfterFour, хотя это наверное затратно
}
if (!checkFour) {
//если в массиве нет 4, то флажок false и сюда не заходим
throw new RuntimeException("нет 4");
}
// для тестов удобнее чтобы метод возвратил строку
// System.out.println(Arrays.equals(arrayTestClass.arrayAfterFour(arrayOne),expectedArrayOne));
String joinedString = Arrays.toString(newArrayAfterFour);
return joinedString;
}

// Написать метод, который проверяет состав массива из чисел 1 и 4. Если в нем нет хоть одной четверки или единицы, то
// метод вернет false; Написать набор тестов для этого метода (по 3-4 варианта входных данных).
// корректно ли делать статик переменные в даном случае?
static boolean checkOne = false;
static boolean checkTwo = false;
public static boolean arrayOneFour(int[] array) {

boolean checkFinal = (checkOne && checkTwo);
for (int i = 0; i <array.length; i++) {
if (array[i]==1){
checkOne = true;
}
if (array[i]==4){
checkTwo=true;
}
}
return checkFinal;
}

}

24 changes: 24 additions & 0 deletions lesson06/src/main/resources/log4j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>

<Configuration xmlns="http://logging.apache.org/log4j/2.0/config">
<Properties>
<Property name="basePath">logs</Property>
</Properties>

<Appenders>
<File name="FILE" fileName="${basePath}/logfile.log" append="true">
<PatternLayout pattern="%-5p %d{yyyy-MM-dd HH:mm:ss} [%t] %C (%F:%L) - %m%n" />
</File>

<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%-5p %d{yyyy-MM-dd HH:mm:ss} [%t] %C (%F:%L) - %m%n" />
</Console>
</Appenders>

<Loggers>
<Logger name="geekbrains" level="debug" />
<Root level="info">
<AppenderRef ref="STDOUT" />
<AppenderRef ref="FILE" />
</Root>
</Loggers>
74 changes: 74 additions & 0 deletions lesson06/src/test/java/Test.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Timeout;

import java.lang.reflect.Array;


class TestClass {
// Проверка: Тестовый массив
int[] arrayOne={3,5,4,5,4,4,5,67,8,6,5,4,3,56,67};

int[] arrayTwo={5,5,4,7,5,67,8,6,56,4,3,46,67};

int[] arrayThree={4,67};


//2 задание

int[] array1={7,4,67}; //-
int[] array2={1,67,8,};//-
int[] array3={1,4};//+


// int[] checkedArrayToo={3,5,5,5,67,8,6,5,3,56,67};


private ArrayTestClass arrayTestClass;

@BeforeEach
public void init() {
arrayTestClass = new ArrayTestClass();
}

@Test
@Timeout(value = 100)
public void test1() {
Assertions.assertEquals("[3, 56, 67]", arrayTestClass.arrayAfterFour(arrayOne));
}
@Test
@Timeout(value = 100)
public void test2() {

Assertions.assertEquals("[3, 46, 67]", arrayTestClass.arrayAfterFour(arrayTwo));
}
@Test
@Timeout(value = 100)
public void test3() {
Assertions.assertEquals("[67]", arrayTestClass.arrayAfterFour(arrayThree));
}


@Test
public void test4(){
Assertions.assertTrue(arrayTestClass.arrayOneFour(array1));
// Assertions.assertArrayEquals();
}
@Test
public void test5(){
Assertions.assertTrue(arrayTestClass.arrayOneFour(array2));
// Assertions.assertArrayEquals();
}
@Test
public void test6(){
Assertions.assertTrue(arrayTestClass.arrayOneFour(array3));
// Assertions.assertArrayEquals();
}




}

Binary file added lesson06/target/classes/ArrayTestClass.class
Binary file not shown.
24 changes: 24 additions & 0 deletions lesson06/target/classes/log4j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>

<Configuration xmlns="http://logging.apache.org/log4j/2.0/config">
<Properties>
<Property name="basePath">logs</Property>
</Properties>

<Appenders>
<File name="FILE" fileName="${basePath}/logfile.log" append="true">
<PatternLayout pattern="%-5p %d{yyyy-MM-dd HH:mm:ss} [%t] %C (%F:%L) - %m%n" />
</File>

<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%-5p %d{yyyy-MM-dd HH:mm:ss} [%t] %C (%F:%L) - %m%n" />
</Console>
</Appenders>

<Loggers>
<Logger name="geekbrains" level="debug" />
<Root level="info">
<AppenderRef ref="STDOUT" />
<AppenderRef ref="FILE" />
</Root>
</Loggers>
Binary file added lesson06/target/test-classes/TestClass.class
Binary file not shown.