bool ecl_rsthead_equal( const ecl_rsthead_type * header1 , const ecl_rsthead_type * header2) { bool equal = true; equal = equal && (header1->day == header2->day); equal = equal && (header1->year == header2->year); equal = equal && (header1->month == header2->month); equal = equal && (header1->sim_time == header2->sim_time); equal = equal && (header1->version == header2->version); equal = equal && (header1->phase_sum == header2->phase_sum); equal = equal && (header1->nx == header2->nx); equal = equal && (header1->ny == header2->ny); equal = equal && (header1->nz == header2->nz); equal = equal && (header1->nactive == header2->nactive); equal = equal && (header1->nwells == header2->nwells); equal = equal && (header1->niwelz == header2->niwelz); equal = equal && (header1->nzwelz == header2->nzwelz); equal = equal && (header1->niconz == header2->niconz); equal = equal && (header1->ncwmax == header2->ncwmax); equal = equal && (header1->nisegz == header2->nisegz); equal = equal && (header1->nsegmx == header2->nsegmx); equal = equal && (header1->nswlmx == header2->nswlmx); equal = equal && (header1->nlbrmx == header2->nlbrmx); equal = equal && (header1->nilbrz == header2->nilbrz); equal = equal && (header1->dualp == header2->dualp); equal = equal && util_double_approx_equal(header1->sim_days , header2->sim_days ); return equal; }
void test_writable(const char * src_file ) { test_work_area_type * work_area = test_work_area_alloc("ecl_file_writable" ); char * fname = util_split_alloc_filename( src_file ); test_work_area_copy_file( work_area , src_file ); { ecl_file_type * ecl_file = ecl_file_open( fname , ECL_FILE_WRITABLE); ecl_kw_type * swat = ecl_file_iget_named_kw( ecl_file , "SWAT" , 0 ); ecl_kw_type * swat0 = ecl_kw_alloc_copy( swat ); test_assert_true( ecl_kw_equal( swat , swat0 )); ecl_kw_iset_float( swat , 0 , 1000.0 ); ecl_file_save_kw( ecl_file , swat ); test_assert_true( ecl_file_writable( ecl_file )); ecl_file_close( ecl_file ); ecl_file = ecl_file_open( fname , 0); swat = ecl_file_iget_named_kw( ecl_file , "SWAT" , 0 ); test_assert_true( util_double_approx_equal( ecl_kw_iget_float( swat , 0 ) , 1000 )); } test_work_area_free( work_area ); }