using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.IO;
namespace ArcGISForMobileTest
{
[TestClass]
public class CreateFeatureUnitTest
{
[TestMethod]
public void TestCreateFeature()
{
//Create the mobile cache...
ESRI.ArcGIS.Mobile.FeatureCaching.FeatureDataReader featureDataReader = Setup();
//Assert Input....
Assert.IsNotNull(featureDataReader);
while (featureDataReader.Read())
{
Assert.IsNotNull(featureDataReader.GetGlobalId());
//////////////////////////////////////////////////////////
// START: Why does this always throw NullReferenceException????
//////////////////////////////////////////////////////////
ESRI.ArcGIS.Mobile.Client.Feature feature = new ESRI.ArcGIS.Mobile.Client.Feature(featureDataReader);
//////////////////////////////////////////////////////////
// END: Why does this always throw NullReferenceException????
//////////////////////////////////////////////////////////
Assert.IsNotNull(feature);
Assert.IsNotNull(feature.ObjectId);
}
}
private ESRI.ArcGIS.Mobile.FeatureCaching.FeatureDataReader Setup()
{
//create the mobile cache
var mobileCache = new ESRI.ArcGIS.Mobile.FeatureCaching.MobileCache();
mobileCache.StoragePath = Directory.GetParent(Directory.GetParent(Directory.GetCurrentDirectory()).ToString()) + @"\Mapcache";
mobileCache.Open();
//get the first FeatureSource
ESRI.ArcGIS.Mobile.FeatureCaching.FeatureSource featureSource = mobileCache.FeatureSources.ToArray()[0];
//get the a FeatureDataReader
return featureSource.GetDataReader(new ESRI.ArcGIS.Mobile.FeatureCaching.QueryFilter("ObjectId > -1"),null);
}
}
}I am guessing you have a featureclass already specified....