Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

FRUIT has assertion, fixture, setup, teardown, report, spec, driver generation and uses Rake (Ruby build utility) used as build tool.

FRUIT core is written in FORTRAN , so one can use it without need of installing any additional software.

...

FRUIT Fortran only vs FRUIT Fortran + Ruby

FRUIT Fortran only

  • Good for small project
  • Good if you do not need setup and teardown subroutines (otherwise you need to create and maintain additional basket file)
  • You will need to reate test driver on your own

FRUIT Fortran + Ruby

  • Good for complex projects
  • Good if you need setup and teardown subroutines
  • Needs Ruby interpreter
  • You will need only to point test and source files in CMakeLists files

Types of subroutines

  • assert - a state of belief. If assert fails your test will also fail (eg. assert_equals(1,2) will fail because 1!=2). Assert is core root of all unit tests.

...

  • setup - subroutine called before every test subroutine. It can be used to initialize variables.
  • teardown - subroutine called after every test subroutine. It can be used to clean after test.

Avaivable subroutunes

Code Block
subroutines:
	assert_equals
	assert_not_equals
	assert_true
	assert_false
	setup
	teardown

!examples with different types:

!integers and reals
	assert_equals(a,b)
	assert_equals(a,b,"Message when assert fails")
	assert_not_equals(a,b)
	assert_not_equals(a,b,"Message when assert fails") 

!NOTE: "Message when assert fails" is optional

!reals with tolerance 
	assert_equals(a,b,tolerance)

!booleans and expressions
	assert_true(expression)
	assert_false(expression)

!strings
	assert_equals("abc","abc")
	assert_not_equals("abc","abc")

...