openai/openai-dotnet

Public

mirrored from https://github.com/openai/openai-dotnetAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
OpenAI_2.3.0

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

tests/Embeddings/OpenAIEmbeddingsModelFactoryTests.cs

116lines · modecode

1using NUnit.Framework;
2using OpenAI.Embeddings;
3using System.Collections.Generic;
4using System.Linq;
5
6namespace OpenAI.Tests.Embeddings;
7
8[Parallelizable(ParallelScope.All)]
9[Category("Embeddings")]
10[Category("Smoke")]
11public class OpenAIEmbeddingsModelFactoryTests
12{
13 [Test]
14 public void EmbeddingWithNoPropertiesWorks()
15 {
16 OpenAIEmbedding embedding = OpenAIEmbeddingsModelFactory.OpenAIEmbedding();
17
18 Assert.That(embedding.Index, Is.EqualTo(default(int)));
19 Assert.That(embedding.ToFloats().ToArray(), Is.Not.Null.And.Empty);
20 }
21
22 [Test]
23 public void EmbeddingWithIndexWorks()
24 {
25 int index = 10;
26 OpenAIEmbedding embedding = OpenAIEmbeddingsModelFactory.OpenAIEmbedding(index: index);
27
28 Assert.That(embedding.Index, Is.EqualTo(index));
29 Assert.That(embedding.ToFloats().ToArray(), Is.Not.Null.And.Empty);
30 }
31
32 [Test]
33 public void EmbeddingWithVectorWorks()
34 {
35 IEnumerable<float> vector = [1f, 2f, 3f];
36 OpenAIEmbedding embedding = OpenAIEmbeddingsModelFactory.OpenAIEmbedding(vector: vector);
37
38 Assert.That(embedding.Index, Is.EqualTo(default(int)));
39 Assert.That(embedding.ToFloats().ToArray().SequenceEqual(vector), Is.True);
40 }
41
42 [Test]
43 public void EmbeddingCollectionWithNoPropertiesWorks()
44 {
45 OpenAIEmbeddingCollection embeddingCollection = OpenAIEmbeddingsModelFactory.OpenAIEmbeddingCollection();
46
47 Assert.That(embeddingCollection.Count, Is.EqualTo(0));
48 Assert.That(embeddingCollection.Model, Is.Null);
49 Assert.That(embeddingCollection.Usage, Is.Null);
50 }
51
52 [Test]
53 public void EmbeddingCollectionWithItemsWorks()
54 {
55 IEnumerable<OpenAIEmbedding> items = [
56 OpenAIEmbeddingsModelFactory.OpenAIEmbedding(index: 10),
57 OpenAIEmbeddingsModelFactory.OpenAIEmbedding(index: 20)
58 ];
59 OpenAIEmbeddingCollection embeddingCollection = OpenAIEmbeddingsModelFactory.OpenAIEmbeddingCollection(items: items);
60
61 Assert.That(embeddingCollection.SequenceEqual(items), Is.True);
62 Assert.That(embeddingCollection.Model, Is.Null);
63 Assert.That(embeddingCollection.Usage, Is.Null);
64 }
65
66 [Test]
67 public void EmbeddingCollectionWithModelWorks()
68 {
69 string model = "supermodel";
70 OpenAIEmbeddingCollection embeddingCollection = OpenAIEmbeddingsModelFactory.OpenAIEmbeddingCollection(model: model);
71
72 Assert.That(embeddingCollection.Count, Is.EqualTo(0));
73 Assert.That(embeddingCollection.Model, Is.EqualTo(model));
74 Assert.That(embeddingCollection.Usage, Is.Null);
75 }
76
77 [Test]
78 public void EmbeddingCollectionWithUsageWorks()
79 {
80 EmbeddingTokenUsage usage = OpenAIEmbeddingsModelFactory.EmbeddingTokenUsage(inputTokenCount: 10);
81 OpenAIEmbeddingCollection embeddingCollection = OpenAIEmbeddingsModelFactory.OpenAIEmbeddingCollection(usage: usage);
82
83 Assert.That(embeddingCollection.Count, Is.EqualTo(0));
84 Assert.That(embeddingCollection.Model, Is.Null);
85 Assert.That(embeddingCollection.Usage, Is.EqualTo(usage));
86 }
87
88 [Test]
89 public void EmbeddingTokenUsageWithNoPropertiesWorks()
90 {
91 EmbeddingTokenUsage embeddingTokenUsage = OpenAIEmbeddingsModelFactory.EmbeddingTokenUsage();
92
93 Assert.That(embeddingTokenUsage.InputTokenCount, Is.EqualTo(default(int)));
94 Assert.That(embeddingTokenUsage.TotalTokenCount, Is.EqualTo(default(int)));
95 }
96
97 [Test]
98 public void EmbeddingTokenUsageWithInputTokensWorks()
99 {
100 int inputTokens = 10;
101 EmbeddingTokenUsage embeddingTokenUsage = OpenAIEmbeddingsModelFactory.EmbeddingTokenUsage(inputTokenCount: inputTokens);
102
103 Assert.That(embeddingTokenUsage.InputTokenCount, Is.EqualTo(10));
104 Assert.That(embeddingTokenUsage.TotalTokenCount, Is.EqualTo(default(int)));
105 }
106
107 [Test]
108 public void EmbeddingTokenUsageWithTotalTokensWorks()
109 {
110 int totalTokens = 10;
111 EmbeddingTokenUsage embeddingTokenUsage = OpenAIEmbeddingsModelFactory.EmbeddingTokenUsage(totalTokenCount: totalTokens);
112
113 Assert.That(embeddingTokenUsage.InputTokenCount, Is.EqualTo(default(int)));
114 Assert.That(embeddingTokenUsage.TotalTokenCount, Is.EqualTo(totalTokens));
115 }
116}
117