#define CATCH_CONFIG_RUNNER
#include <iostream>
#include <cmath>
#include <catch.hpp>

double mileToKilometer(double mile)
{return mile *1.60934;}

TEST_CASE("describe_mileToKilometer" , "[mileToKilometer]")
{
  REQUIRE(mileToKilometer(2)== Approx(2*1.60934f) );
  REQUIRE(mileToKilometer(0)== Approx(0.0f) );

}

int main(int argc, char* argv[])
{
  double mile=0;
  std::cout<<"Wieviele Meilen? : ";
  std::cin>>mile;
  if(mile<0)
    {std::cout<<"es sollte eine positive Zahl sein"<<std::endl;
	return 0;}
  std::cout<<"das sind "<<mileToKilometer(mile)<<" Kilometer."<<std::endl;
  return Catch::Session().run(argc, argv);
}
	float o = 2*M_PI*r*r+2*M_PI*r*h;
	return o;

}

double mileToKilometer(double m){
	double k = 1.60934;
	m = m * k;

	return m;

}

TEST_CASE("mileToKilometer","[mileToKilometer]"){
	REQUIRE(mileToKilometer(1) == Approx(1.60934));
	REQUIRE(mileToKilometer(2.45) == Approx(3.942893));
	REQUIRE(mileToKilometer(4.58) == Approx(7.370796));
}

TEST_CASE("describe_zylindero","[zylindero]"){
	REQUIRE(zylindero(5.89,2.37) == Approx(123.000892));
	REQUIRE(zylindero(4.23,1.63) == Approx(60.0157294));
	REQUIRE(zylindero(6.41,3.12) == Approx(186.821719));
}

TEST_CASE("describe_zylinderv","[zylinderv]"){
	REQUIRE(zylinderv(5.89,2.37) == Approx(103.935009));
	REQUIRE(zylinderv(4.23,1.63) == Approx(35.3073765));
	REQUIRE(zylinderv(6.41,3.12) == Approx(196.02754));
}