public void DataSetIsPassedToDataStoreInCorrectOrder() { // The underlying functionality here is also covered in DataStoreSorterTest, but we want to verify that the // client object is actually *using* DataStoreSorter. var mockStore = new Mock <IDataStore>(); var store = mockStore.Object; FullDataSet <ItemDescriptor> receivedData = new FullDataSet <ItemDescriptor>(); mockStore.Setup(s => s.Init(It.IsAny <FullDataSet <ItemDescriptor> >())) .Callback((FullDataSet <ItemDescriptor> data) => { receivedData = data; }); mockDataSource.Setup(up => up.Start()).Returns(initTask); var config = Configuration.Builder(sdkKey) .DataStore(TestUtils.SpecificDataStore(store)) .DataSource(TestUtils.DataSourceWithData(DataStoreSorterTest.DependencyOrderingTestData)) .Events(Components.NoEvents) .Logging(Components.Logging(testLogging)) .Build(); using (var client = new LdClient(config)) { Assert.NotNull(receivedData); DataStoreSorterTest.VerifyDataSetOrder(receivedData, DataStoreSorterTest.DependencyOrderingTestData, DataStoreSorterTest.ExpectedOrderingForSortedDataSet); } }
public void DataSetIsPassedToDataStoreInCorrectOrder() { // The underlying functionality here is also covered in DataStoreSorterTest, but we want to verify that the // client object is actually *using* DataStoreSorter. var mockStore = new Mock <IDataStore>(); var store = mockStore.Object; var dataSink = new EventSink <FullDataSet <ItemDescriptor> >(); mockStore.Setup(s => s.Init(It.IsAny <FullDataSet <ItemDescriptor> >())) .Callback((FullDataSet <ItemDescriptor> data) => dataSink.Enqueue(data)); var config = BasicConfig() .DataStore(store.AsSingletonFactory()) .DataSource(MockDataSourceWithData(DataStoreSorterTest.DependencyOrderingTestData).AsSingletonFactory()) .Build(); using (var client = new LdClient(config)) { var receivedData = dataSink.ExpectValue(); DataStoreSorterTest.VerifyDataSetOrder(receivedData, DataStoreSorterTest.DependencyOrderingTestData, DataStoreSorterTest.ExpectedOrderingForSortedDataSet); } }