00001 #pragma once
00002
00003 #include <fdr/assertions/counterexample/counterexample.h>
00004 #include <fdr/assertions/behaviour/behaviour.h>
00005
00006 namespace FDR
00007 {
00008 namespace Assertions
00009 {
00018 class RefinementCounterexample : public Counterexample
00019 {
00020 public:
00022 const std::shared_ptr<Behaviour>& implementation_behaviour() const;
00023
00025 const std::shared_ptr<Behaviour>& specification_behaviour() const;
00026
00027 protected:
00028 RefinementCounterexample(const std::shared_ptr<Behaviour>& specification,
00029 const std::shared_ptr<Behaviour>& implementation);
00030
00031 private:
00032 std::shared_ptr<Behaviour> specification;
00033 std::shared_ptr<Behaviour> implementation;
00034 };
00035
00036 }
00037 }