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)); + } + }