From ae074ad7b898078692df006af9d30ffbb40c81b7 Mon Sep 17 00:00:00 2001 From: Sergei_Smirnov Date: Sun, 22 Sep 2019 01:36:30 +0500 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=80=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D1=8F=20ConvertToMetersPerSecond=20=D0=B8=20=D1=82=D0=B5?= =?UTF-8?q?=D1=81=D1=82.=20=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=B1=D0=B0=D0=B3,=20=D0=BF=D1=80=D0=B8=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D0=BE=D0=BC=20=D0=BF=D1=80=D0=B8?= =?UTF-8?q?=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2=D1=8B=D0=BB?= =?UTF-8?q?=D0=B5=D1=82=D0=B0=D0=BB=D0=BE=20=D0=BF=D1=80=D0=B8=20=D0=BF?= =?UTF-8?q?=D1=83=D1=81=D1=82=D0=BE=D0=BC=20=D0=BF=D0=BE=D0=BB=D0=B5=20?= =?UTF-8?q?=D0=B2=D0=B2=D0=BE=D0=B4=D0=B0=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B?= =?UTF-8?q?=D1=85=3D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../geekbrains/converter/ConvertActivity.java | 21 ++++++++++++------- .../converter/ConvertToMetersPerSecond.java | 8 +++++++ .../geekbrains/converter/ConverterTest.java | 7 +++++++ 3 files changed, 29 insertions(+), 7 deletions(-) create mode 100644 Lesson1/Task1/Converter/app/src/main/java/ru/geekbrains/converter/ConvertToMetersPerSecond.java diff --git a/Lesson1/Task1/Converter/app/src/main/java/ru/geekbrains/converter/ConvertActivity.java b/Lesson1/Task1/Converter/app/src/main/java/ru/geekbrains/converter/ConvertActivity.java index 3b4068d..c231b66 100644 --- a/Lesson1/Task1/Converter/app/src/main/java/ru/geekbrains/converter/ConvertActivity.java +++ b/Lesson1/Task1/Converter/app/src/main/java/ru/geekbrains/converter/ConvertActivity.java @@ -1,6 +1,7 @@ package ru.geekbrains.converter; import android.os.Bundle; +import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.EditText; @@ -21,12 +22,18 @@ protected void onCreate(Bundle savedInstanceState) { // обработка нажатия public void onToFahrenheitClick(View view) { // получить входное значение - float sourceValue = Float.parseFloat(sourceText.getText().toString()); - // инстанцировать конвертер - Converter converter = new Converter(sourceValue); - // преобразовать, обратите внимание на параметр ConvertToFahrenheit - float destValue = converter.Convert(new ConvertToFahrenheit()).GetResult(); - // записать результат в элемент - destText.setText(String.format("%.02f", destValue)); + float sourceValue; + Converter converter; + try { + sourceValue = Float.parseFloat(sourceText.getText().toString()); + // инстанцировать конвертер + converter = new Converter(sourceValue); + // преобразовать, обратите внимание на параметр ConvertToFahrenheit + float destValue = converter.Convert(new ConvertToFahrenheit()).GetResult(); + // записать результат в элемент + destText.setText(String.format("%.02f", destValue)); + } catch (NumberFormatException ex){ + Snackbar.make(view, "Введите число!", Snackbar.LENGTH_SHORT).show(); + } } } diff --git a/Lesson1/Task1/Converter/app/src/main/java/ru/geekbrains/converter/ConvertToMetersPerSecond.java b/Lesson1/Task1/Converter/app/src/main/java/ru/geekbrains/converter/ConvertToMetersPerSecond.java new file mode 100644 index 0000000..2cd5a54 --- /dev/null +++ b/Lesson1/Task1/Converter/app/src/main/java/ru/geekbrains/converter/ConvertToMetersPerSecond.java @@ -0,0 +1,8 @@ +package ru.geekbrains.converter; + +public class ConvertToMetersPerSecond implements ConvertTo { + @Override + public float Do(float sourceValue) { + return (float) sourceValue * 1000 / 3600; + } +} diff --git a/Lesson1/Task1/Converter/app/src/test/java/ru/geekbrains/converter/ConverterTest.java b/Lesson1/Task1/Converter/app/src/test/java/ru/geekbrains/converter/ConverterTest.java index bfdba85..852cbd3 100644 --- a/Lesson1/Task1/Converter/app/src/test/java/ru/geekbrains/converter/ConverterTest.java +++ b/Lesson1/Task1/Converter/app/src/test/java/ru/geekbrains/converter/ConverterTest.java @@ -69,4 +69,11 @@ public void ConvertToMile_Do_UnitTest() throws Exception{ assertThat(actual, is(1.24274f)); } + @Test + public void ConvertToMetersPerSecond_Do_UnitTest() throws Exception{ + ConvertTo convertTo = new ConvertToMetersPerSecond(); + float actual = convertTo.Do(10); + assertThat(actual, is(2.777777777f)); + } + }