# Lair Configuration DSL Case Study (Python 3)
# Method Chaining with Expression Builder: Test Input (for builder14)
# H. Conrad Cunningham

# Developed for CSci 658, Software Language Engineering, Spring 2018

#234567890123456789012345678901234567890123456789012345678901234567890

# 2018-02-26: (V1) based on M. Fowler's Ruby code rules14.rb

# Note multiline expression is encluded in paretheses.

(ConfigurationBuilder().
  item("secure_air_vent").
  item("acid_bath").
    uses(Resources.acid().
       type("hcl").
       grade(5)).
    uses(Resources.electricity(12)).
  item("camera").uses(Resources.electricity(1)).
  item("small_power_plan").
    provides(Resources.electricity(11)).
    depends_on("secure_air_vent")
)
