public void Count_TwoItemsAdded_ReturnsTwo() { // arrange string f1 = "F1"; string f2 = "F2"; FeatureNumericalManager featureManager = new FeatureNumericalManager(); featureManager.Add(new FeatureNumerical("F1")); featureManager.Add(new FeatureNumerical("F2")); ItemNumericalSet set = new ItemNumericalSet(featureManager); ItemNumerical i1 = set.CreateItem(); i1.SetValue(f1, 3); i1.SetValue(f2, 4.7f); set.AddItem(i1); ItemNumerical i2 = set.CreateItem(); i2.SetValue(f1, 1); i2.SetValue(f2, 2.1f); set.AddItem(i2); // act int qty = set.Count(); // assert Assert.AreEqual(2, qty); }
public ItemNumericalSet Clone() { FeatureNumericalManager fm = new FeatureNumericalManager(); List <string> names = _featureManager.GetFeatureNames(); foreach (string n in names) { FeatureNumerical f = _featureManager.Get(n); FeatureNumerical nf = new FeatureNumerical(f.Name); fm.Add(nf); } ItemNumericalSet res = new ItemNumericalSet(fm); return(res); }
public void CreateItem_ReturnsItem() { // arrange FeatureNumericalManager featureManager = new FeatureNumericalManager(); featureManager.Add(new FeatureNumerical("F1")); featureManager.Add(new FeatureNumerical("F2")); ItemNumericalSet set = new ItemNumericalSet(featureManager); // act ItemNumerical item = set.CreateItem(); // assert Assert.IsNotNull(item); Assert.AreEqual(true, item.HasValue("F1") & item.HasValue("F2")); }
public void GetFeatureNames_Features4Exc1Ratio1_ThrowException() { // arrange FeatureNumericalManager m = new FeatureNumericalManager(); m.Add(new FeatureNumerical("F1")); m.Add(new FeatureNumerical("F2")); m.Add(new FeatureNumerical("F3")); m.Add(new FeatureNumerical("F4")); string resolutionFeatureName = "F2"; // act List <string> names = m.GetFeatureNames(new List <string> { resolutionFeatureName }, 1); // assert Assert.IsNotNull(names); Assert.AreEqual(1, names.Count); CollectionAssert.DoesNotContain(names, resolutionFeatureName); }
public void GetSeparateValue_ItemSetFeatures2Items5_ReturnsSeparateValue() { // arrange string f1 = "F1"; string f2 = "F2"; FeatureNumericalManager featureManager = new FeatureNumericalManager(); featureManager.Add(new FeatureNumerical(f1)); featureManager.Add(new FeatureNumerical(f2)); _set = new ItemNumericalSet(featureManager); int[] a1 = new int[5] { 1, 2, 3, 4, 5 }; float[] a2 = new float[5] { 1f, 0.2f, 2.3f, 4.1f, 4f }; for (int i = 0; i < 5; i++) { ItemNumerical item = _set.CreateItem(); item.SetValue(f1, a1[i]); item.SetValue(f2, a2[i]); _set.AddItem(item); } ISplitter splitter = new SplitterRss(); // act FeatureNumericalValue sv = splitter.Split(_set, "F1"); double fv = Math.Round(sv.FeatureValue, 2); // assert Assert.IsNotNull(sv); //Assert.AreEqual(3.15, fv); Assert.AreEqual(1.65, fv); }
public void Clone_Item_ReturnsClone() { // arrange string f1 = "F1"; string f2 = "F2"; FeatureNumericalManager featureManager = new FeatureNumericalManager(); featureManager.Add(new FeatureNumerical(f1)); featureManager.Add(new FeatureNumerical(f2)); ItemNumericalSet set = new ItemNumericalSet(featureManager); ItemNumerical item = set.CreateItem(); item.SetValue(f1, 5); item.SetValue(f2, 3.8f); // act ItemNumerical clone = item.Clone(); item.SetValue(f1, 10); // assert Assert.AreEqual(5, clone.GetValue(f1)); Assert.AreEqual(3.8f, clone.GetValue(f2)); }
public ItemNumericalSet(FeatureNumericalManager featureManager) { _featureManager = featureManager; _featureManager.FeatureAdded += _featureManager_FeatureAdded; _featureManager.FeatureRemoved += _featureManager_FeatureRemoved; }