// See LICENSE for license details.

package firrtlTests.options.phases


import firrtl.options.{Phase, TargetDirAnnotation}
import firrtl.options.phases.AddDefaults
import org.scalatest.flatspec.AnyFlatSpec
import org.scalatest.matchers.should.Matchers

class AddDefaultsSpec extends AnyFlatSpec with Matchers {

  class Fixture {
    val phase: Phase = new AddDefaults
    val targetDir = TargetDirAnnotation("foo")
    val defaultDir = TargetDirAnnotation(".")
  }

  behavior of classOf[AddDefaults].toString

  it should "add a TargetDirAnnotation if it does not exist" in new Fixture {
    phase.transform(Seq.empty).toSeq should be (Seq(defaultDir))
  }

  it should "don't add a TargetDirAnnotation if it exists" in new Fixture {
    phase.transform(Seq(targetDir)).toSeq should be (Seq(targetDir))
  }
}
