# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

group("testing") {
  testonly = true

  public_deps = [
    ":mutation_matchers",
    ":test_mutator",
  ]
}

source_set("mutation_matchers") {
  testonly = true

  sources = [
    "mutation_matchers.h",
  ]

  public_deps = [
    "//peridot/public/fidl/fuchsia.modular.storymodel",
    "//peridot/public/lib/fostr/fidl/fuchsia.modular",
    "//peridot/public/lib/fostr/fidl/fuchsia.modular.storymodel",
    "//third_party/googletest:gmock",
  ]
}

source_set("test_mutator") {
  testonly = true

  sources = [
    "test_mutator.cc",
    "test_mutator.h",
  ]

  deps = [
    "//peridot/bin/sessionmgr/story/model",
    "//peridot/public/fidl/fuchsia.modular.storymodel",
  ]
}
