Exemplo n.º 1
0
void test_set_from_mask() {
  int i;
  state_map_type * map1 = state_map_alloc();
  state_map_type * map2 = state_map_alloc();
  bool_vector_type * mask = bool_vector_alloc(0, false);
  bool_vector_iset(mask , 10 , true);
  bool_vector_iset(mask , 20 , true);

  state_map_set_from_mask(map1 , mask , STATE_INITIALIZED);
  state_map_set_from_inverted_mask(map2 , mask , STATE_INITIALIZED);
  test_assert_int_equal(21 , state_map_get_size(map1));
  test_assert_int_equal(21 , state_map_get_size(map2));
  for (i = 0; i < state_map_get_size(map1); i++) {
    if (i == 10 || i== 20) {
      test_assert_int_equal( STATE_INITIALIZED , state_map_iget( map1 , i) );
      test_assert_int_equal( STATE_UNDEFINED , state_map_iget(map2 , i));
    }
    else {
      test_assert_int_equal(STATE_UNDEFINED , state_map_iget(map1 , i ));
      test_assert_int_equal( STATE_INITIALIZED , state_map_iget(map2 , i));
    }


  }
}
Exemplo n.º 2
0
void test_io( ) {
  test_work_area_type * work_area = test_work_area_alloc( "enkf-state-map" );
  {
    state_map_type * state_map = state_map_alloc();
    state_map_type * copy1 , *copy2;
    state_map_iset( state_map , 0 , STATE_INITIALIZED );
    state_map_iset( state_map , 100 , STATE_INITIALIZED );
    state_map_fwrite( state_map , "map");
    
    copy1 = state_map_fread_alloc( "map" );
    test_assert_true( state_map_equal( state_map , copy1 ));
    
    copy2 = state_map_alloc();
    state_map_fread( copy2 , "map" );
    test_assert_true( state_map_equal( state_map , copy2 ));

    state_map_iset( copy2 , 67 , STATE_INITIALIZED );
    test_assert_false(state_map_equal( state_map , copy2 ));
    
    state_map_fread( copy2 , "map");
    test_assert_true( state_map_equal( state_map , copy2 ));

    state_map_fread( copy2 , "DoesNotExis");
    test_assert_int_equal( 0 , state_map_get_size( copy2 ));
  }
  test_work_area_free( work_area );
}
Exemplo n.º 3
0
void create_test() {
  state_map_type * state_map = state_map_alloc();
  test_assert_true( state_map_is_instance( state_map ));
  test_assert_int_equal( 0 , state_map_get_size( state_map ));
  test_assert_false( state_map_is_readonly( state_map ));
  state_map_free( state_map );
}
Exemplo n.º 4
0
void test_readonly() {
  {
    state_map_type * map1 = state_map_fread_alloc_readonly("FileDoesNotExist");
    
    test_assert_true(state_map_is_instance(map1));
    test_assert_int_equal(0 , state_map_get_size( map1 ));
    test_assert_true( state_map_is_readonly( map1 ));
    state_map_free(map1);
  }
  {
    test_work_area_type * work_area = test_work_area_alloc("state-map");
    state_map_type * map1 = state_map_alloc();
    
    state_map_iset(map1 , 5 , STATE_INITIALIZED);
    state_map_iset(map1 , 9 , STATE_INITIALIZED);

    state_map_fwrite(map1 , "map1");
    {
      state_map_type * map2 = state_map_fread_alloc_readonly("map1");
      
      test_assert_true(state_map_equal(map1 , map2));
      state_map_free(map2);
    }
    test_work_area_free( work_area );
    state_map_free(map1);
  }
}
Exemplo n.º 5
0
void test_deselect_matching( ) {
  state_map_type * map = state_map_alloc( );
  bool_vector_type * mask1 = bool_vector_alloc(0 , false);
  bool_vector_type * mask2 = bool_vector_alloc(1000 , true);

  state_map_iset( map , 10 , STATE_INITIALIZED );
  state_map_iset( map , 10 , STATE_HAS_DATA );
  state_map_iset( map , 20 , STATE_INITIALIZED );
  state_map_deselect_matching( map , mask1 , STATE_HAS_DATA | STATE_INITIALIZED );
  state_map_deselect_matching( map , mask2 , STATE_HAS_DATA | STATE_INITIALIZED );
  
  test_assert_int_equal( state_map_get_size( map ) , bool_vector_size( mask1 ));
  
  for (int i=0; i < bool_vector_size( mask1 ); i++) {
    if (i==10)
      test_assert_false( bool_vector_iget( mask1 , i ));
    else if (i== 20)
      test_assert_false( bool_vector_iget( mask2 , i ));
    else {
      test_assert_false( bool_vector_iget( mask1 , i ));
      test_assert_true( bool_vector_iget( mask2 , i ));
    }
  }
    
  bool_vector_free( mask1 );
  bool_vector_free( mask2 );
  state_map_free( map );
}
Exemplo n.º 6
0
Arquivo: enkf_fs.c Projeto: shulNN/ert
static enkf_fs_type * enkf_fs_alloc_empty( const char * mount_point , bool read_only) {
  enkf_fs_type * fs          = util_malloc(sizeof * fs );
  UTIL_TYPE_ID_INIT( fs , ENKF_FS_TYPE_ID );
  fs->time_map               = time_map_alloc();
  fs->cases_config           = cases_config_alloc();
  fs->state_map              = state_map_alloc();
  fs->misfit_ensemble        = misfit_ensemble_alloc();
  fs->index                  = NULL;
  fs->eclipse_static         = NULL;
  fs->parameter              = NULL;
  fs->dynamic_forecast       = NULL;
  fs->dynamic_analyzed       = NULL;
  fs->read_only              = read_only;
  fs->mount_point            = util_alloc_string_copy( mount_point );
  fs->refcount               = 0;
  fs->lock_fd                = 0;
  
  if (mount_point == NULL)
    util_abort("%s: fatal internal error: mount_point == NULL \n",__func__);
  {
    char ** path_tmp;
    int     path_len;

    util_path_split( fs->mount_point , &path_len , &path_tmp);
    fs->case_name = util_alloc_string_copy( path_tmp[path_len - 1]);
    fs->root_path = util_alloc_joined_string( (const char **) path_tmp , path_len , UTIL_PATH_SEP_STRING);
    fs->lock_file = util_alloc_filename( fs->mount_point , fs->case_name , "lock");

    util_free_stringlist( path_tmp , path_len );
  }
  return fs;
}
Exemplo n.º 7
0
state_map_type * state_map_alloc_copy( state_map_type * map ) {
  state_map_type * copy = state_map_alloc();
  pthread_rwlock_rdlock( &map->rw_lock );
  {
    int_vector_memcpy( copy->state , map->state );
  }
  pthread_rwlock_unlock( &map->rw_lock );
  return copy;
}
Exemplo n.º 8
0
state_map_type * state_map_fread_alloc( const char * filename ) {
  state_map_type * map = state_map_alloc();
  if (util_file_exists( filename )) {
    FILE * stream = util_fopen( filename , "r");
    int_vector_fread( map->state , stream );
    fclose( stream );
  } 
  return map;
}
Exemplo n.º 9
0
void test_equal() {
  state_map_type * state_map1 = state_map_alloc();
  state_map_type * state_map2 = state_map_alloc();

  test_assert_true( state_map_equal( state_map1 , state_map2 ));
  for (int i =0; i < 25; i++) {
    state_map_iset( state_map1 , i , STATE_INITIALIZED );
    state_map_iset( state_map2 , i , STATE_INITIALIZED );
  }
  test_assert_true( state_map_equal( state_map1 , state_map2 ));

  state_map_iset( state_map2 , 15 , STATE_HAS_DATA );
  test_assert_false( state_map_equal( state_map1 , state_map2 ));
  state_map_iset( state_map2 , 15 , STATE_LOAD_FAILURE );
  state_map_iset( state_map2 , 15 , STATE_INITIALIZED );
  test_assert_true( state_map_equal( state_map1 , state_map2 ));
  
  state_map_iset( state_map2 , 150 , STATE_INITIALIZED );
  test_assert_false( state_map_equal( state_map1 , state_map2 ));
}
Exemplo n.º 10
0
void set_test( ) {
  state_map_type * state_map = state_map_alloc();
  state_map_iset( state_map , 0 , STATE_INITIALIZED );
  test_assert_int_equal( STATE_INITIALIZED , state_map_iget( state_map , 0 ));

  state_map_iset( state_map , 100 , STATE_INITIALIZED );
  test_assert_int_equal( STATE_INITIALIZED , state_map_iget( state_map , 100 ));

  test_assert_int_equal( STATE_UNDEFINED , state_map_iget( state_map , 50 ));
  test_assert_int_equal( 101 , state_map_get_size( state_map ));
  state_map_free( state_map );
}
Exemplo n.º 11
0
void test_copy() {
  state_map_type * state_map = state_map_alloc();
  state_map_iset( state_map , 0 , STATE_INITIALIZED );
  state_map_iset( state_map , 100 , STATE_INITIALIZED );
  {
    state_map_type * copy = state_map_alloc_copy( state_map );
    test_assert_true( state_map_equal( copy , state_map ));

    state_map_iset( state_map , 10 , STATE_INITIALIZED );
    test_assert_false( state_map_equal( copy , state_map ));                      
    
    state_map_free( copy );
  }
  state_map_free( state_map );
}
Exemplo n.º 12
0
void test_update_undefined( ) {
  state_map_type * map = state_map_alloc( );
  
  state_map_iset( map , 10 , STATE_INITIALIZED );
  test_assert_int_equal( STATE_UNDEFINED , state_map_iget( map , 5 ) );
  test_assert_int_equal( STATE_INITIALIZED , state_map_iget( map , 10 ) );

  state_map_update_undefined( map , 5 , STATE_INITIALIZED );
  test_assert_int_equal( STATE_INITIALIZED , state_map_iget( map , 5 ) );
  
  state_map_update_undefined( map , 10 , STATE_INITIALIZED );
  test_assert_int_equal( STATE_INITIALIZED , state_map_iget( map , 10 ) );
  
  state_map_free( map );
}
Exemplo n.º 13
0
void test_count_matching() {
  state_map_type * map1 = state_map_alloc();
  state_map_iset(map1 , 10 , STATE_INITIALIZED );

  state_map_iset(map1 , 15 , STATE_INITIALIZED );
  state_map_iset(map1 , 15 , STATE_HAS_DATA );

  state_map_iset(map1 , 16 , STATE_INITIALIZED );
  state_map_iset(map1 , 16 , STATE_HAS_DATA );
  state_map_iset(map1 , 16 , STATE_LOAD_FAILURE );
  
  test_assert_int_equal( 1 , state_map_count_matching( map1 , STATE_HAS_DATA));
  test_assert_int_equal( 2 , state_map_count_matching( map1 , STATE_HAS_DATA | STATE_LOAD_FAILURE));
  test_assert_int_equal( 3 , state_map_count_matching( map1 , STATE_HAS_DATA | STATE_LOAD_FAILURE | STATE_INITIALIZED));

  state_map_free( map1 );
}
Exemplo n.º 14
0
void test_update_matching( ) {
  state_map_type * map = state_map_alloc( );
  
  state_map_iset( map , 10 , STATE_INITIALIZED );
  state_map_iset( map , 3 , STATE_PARENT_FAILURE );
  test_assert_int_equal( STATE_UNDEFINED , state_map_iget( map , 5 ) );
  test_assert_int_equal( STATE_INITIALIZED , state_map_iget( map , 10 ) );

  state_map_update_matching( map , 5 , STATE_UNDEFINED | STATE_LOAD_FAILURE , STATE_INITIALIZED );
  state_map_update_matching( map , 10 , STATE_UNDEFINED | STATE_LOAD_FAILURE , STATE_INITIALIZED );
  state_map_update_matching( map , 3 , STATE_UNDEFINED | STATE_LOAD_FAILURE , STATE_INITIALIZED );
  
  test_assert_int_equal( STATE_INITIALIZED , state_map_iget( map , 5 ) );
  test_assert_int_equal( STATE_INITIALIZED , state_map_iget( map , 10 ) );
  test_assert_int_equal( STATE_PARENT_FAILURE , state_map_iget( map , 3 ) );
  
  state_map_update_undefined( map , 10 , STATE_INITIALIZED );
  test_assert_int_equal( STATE_INITIALIZED , state_map_iget( map , 10 ) );
  
  state_map_free( map );
}
Exemplo n.º 15
0
void get_test( ) {
  state_map_type * state_map = state_map_alloc();
  test_assert_int_equal( STATE_UNDEFINED , state_map_iget( state_map , 0 ));
  test_assert_int_equal( STATE_UNDEFINED , state_map_iget( state_map , 100 ));
  state_map_free( state_map );
}