
###########################################################################
# This is a valid version of the registered_encodings.txt file that
# is used by TEST(EncodingRegistryFromFile, ValidFile) in config_test.cc
##########################################################################

#########################
# Customer 1 (Fuchsia)
########################

## Project 1

#### Encoding (1, 1, 1)
element {
  customer_id: 1
  project_id: 1
  id: 1
  forculus {
    threshold: 20
    epoch_type: WEEK
  }
}

#### Encoding (1, 1, 2)
element {
  customer_id: 1
  project_id: 1
  id: 2
  rappor {
    num_bloom_bits: 64
    num_hashes: 2
    num_cohorts: 100
    prob_0_becomes_1: 0.2
    prob_1_stays_1: 0.8
  }
}

#### Encoding (1, 1, 3)
element {
  customer_id: 1
  project_id: 1
  id: 3
  basic_rappor {
    prob_0_becomes_1: 0.1
    prob_1_stays_1: 0.9
    int_range_categories: {
      first: -1
      last:  1
    }
  }
}

#### Encoding (1, 1, 4)
element {
  customer_id: 1
  project_id: 1
  id: 4
  basic_rappor {
    prob_0_becomes_1: 0.0
    prob_1_stays_1: 1.0
    indexed_categories: {
      num_categories: 100
    }
  }
}

#########################
# Customer 2 (Acme)
########################

## Project 1

#### Encoding (2, 1, 1)
element {
  customer_id: 2
  project_id: 1
  id: 1
  basic_rappor {
    prob_0_becomes_1: 0.1
    prob_1_stays_1: 0.9
    string_categories: {
      category: "dog"
      category: "cat"
      category: "fish"
    }
  }
}

#### Encoding (2, 1, 2)
element {
  customer_id: 2
  project_id: 1
  id: 2
  forculus {
    threshold: 50
  }
}
