summaryrefslogtreecommitdiffhomepage
path: root/spec/dispatch/adapter/interface/base_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/dispatch/adapter/interface/base_spec.rb')
-rw-r--r--spec/dispatch/adapter/interface/base_spec.rb41
1 files changed, 41 insertions, 0 deletions
diff --git a/spec/dispatch/adapter/interface/base_spec.rb b/spec/dispatch/adapter/interface/base_spec.rb
new file mode 100644
index 0000000..8c3a279
--- /dev/null
+++ b/spec/dispatch/adapter/interface/base_spec.rb
@@ -0,0 +1,41 @@
+# frozen_string_literal: true
+
+RSpec.describe Dispatch::Adapter::Base do
+ subject(:base) { described_class.new }
+
+ describe "#chat" do
+ it "raises NotImplementedError" do
+ expect { base.chat([]) }.to raise_error(NotImplementedError, /chat must be implemented/)
+ end
+ end
+
+ describe "#model_name" do
+ it "raises NotImplementedError" do
+ expect { base.model_name }.to raise_error(NotImplementedError, /model_name must be implemented/)
+ end
+ end
+
+ describe "#count_tokens" do
+ it "returns -1" do
+ expect(base.count_tokens([])).to eq(-1)
+ end
+ end
+
+ describe "#list_models" do
+ it "raises NotImplementedError" do
+ expect { base.list_models }.to raise_error(NotImplementedError, /list_models must be implemented/)
+ end
+ end
+
+ describe "#provider_name" do
+ it "returns the class name" do
+ expect(base.provider_name).to eq("Dispatch::Adapter::Base")
+ end
+ end
+
+ describe "#max_context_tokens" do
+ it "returns nil" do
+ expect(base.max_context_tokens).to be_nil
+ end
+ end
+end