Files
microsoft--semantic-kernel/dotnet/test/VectorData/Pinecone.UnitTests/PineconeCollectionTests.cs
T
wehub-resource-sync b957a53def
CodeQL / Analyze (csharp) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:21:23 +08:00

56 lines
1.8 KiB
C#

// Copyright (c) Microsoft. All rights reserved.
using System;
using Microsoft.Extensions.VectorData;
using Microsoft.SemanticKernel.Connectors.Pinecone;
using Pinecone;
using Xunit;
namespace SemanticKernel.Connectors.Pinecone.UnitTests;
/// <summary>
/// Contains tests for the <see cref="PineconeCollection{TKey, TRecord}"/> class.
/// </summary>
public class PineconeCollectionTests
{
private const string TestCollectionName = "testcollection";
/// <summary>
/// Tests that the collection can be created even if the definition and the type do not match.
/// In this case, the expectation is that a custom mapper will be provided to map between the
/// schema as defined by the definition and the different data model.
/// </summary>
[Fact]
public void CanCreateCollectionWithMismatchedDefinitionAndType()
{
// Arrange.
var definition = new VectorStoreCollectionDefinition()
{
Properties =
[
new VectorStoreKeyProperty("Key", typeof(string)),
new VectorStoreDataProperty("OriginalNameData", typeof(string)),
new VectorStoreVectorProperty("Vector", typeof(ReadOnlyMemory<float>?), 4),
]
};
var pineconeClient = new PineconeClient("fake api key");
// Act.
using var sut = new PineconeCollection<string, SinglePropsModel>(
pineconeClient,
TestCollectionName,
new() { Definition = definition });
}
public sealed class SinglePropsModel
{
public string Key { get; set; } = string.Empty;
public string OriginalNameData { get; set; } = string.Empty;
public string Data { get; set; } = string.Empty;
public ReadOnlyMemory<float>? Vector { get; set; }
}
}