private SpssVariable CreateSpssVariable(String datatype, String name, String label, int columnWidth) { SpssVariable v = null; switch (datatype.ToLower()) { case "string": v = new SpssStringVariable(); v.ColumnWidth = columnWidth; break; case "numeric": v = new SpssNumericVariable(); v.ColumnWidth = columnWidth; break; case "date": //v = new SpssStringVariable(); v = new SpssDateVariable(); break; default: v = new SpssNumericVariable(); break; } if (name.EndsWith("hv") && datatype != "String") { v = new SpssStringVariable(); v.ColumnWidth = 255; } v.Name = name; v.Label = label; return(v); }
public static void CreateMetaData(SpssDataDocument doc) { // Define dictionary SpssStringVariable v1 = new SpssStringVariable(); v1.Name = "v1"; v1.Label = "What is your name?"; doc.Variables.Add(v1); SpssNumericVariable v2 = new SpssNumericVariable(); v2.Name = "v2"; v2.Label = "How old are you?"; doc.Variables.Add(v2); SpssNumericVariable v3 = new SpssNumericVariable(); v3.Name = "v3"; v3.Label = "What is your gender?"; v3.ValueLabels.Add(1, "Male"); v3.ValueLabels.Add(2, "Female"); doc.Variables.Add(v3); SpssDateVariable v4 = new SpssDateVariable(); v4.Name = "v4"; v4.Label = "What is your birthdate?"; doc.Variables.Add(v4); // Add some data doc.CommitDictionary(); }
public void AddVariableToNewFile() { SpssVariable var = new SpssStringVariable(); var.Name = "var1"; this.docWrite.Variables.Add(var); Assert.Single(this.docWrite.Variables); }
public void AddVariableToNewFile() { SpssVariable var = new SpssStringVariable(); var.Name = "var1"; docWrite.Variables.Add(var); Assert.Equal(1, docWrite.Variables.Count); }
public void GetLongStringValueLabels() { using (SpssDataDocument docRead = SpssDataDocument.Open(TestBase.GoodFilename, SpssFileAccess.Read)) { SpssStringVariable var = (SpssStringVariable)docRead.Variables["longStr"]; // long strings can never have value labels Assert.Equal(0, var.ValueLabels.Count); } }
public void VarLabelNeverNull() { SpssVariable var = new SpssStringVariable(); Assert.NotNull(var.Label); var.Label = null; Assert.NotNull(var.Label); Assert.Equal(string.Empty, var.Label); }
public void SetStringTooLong() { using (SpssDataDocument docAppend = SpssDataDocument.Open(TestBase.AppendFilename, SpssFileAccess.Append)) { SpssStringVariable var = (SpssStringVariable)docAppend.Variables["charLabels"]; Debug.Assert(var.Length == 8); SpssCase row = docAppend.Cases.New(); Assert.Throws <ArgumentOutOfRangeException>(() => row["charLabels"] = new string('a', var.Length + 1)); } }
public void SetStringValueLabels() { SpssStringVariable var = new SpssStringVariable(); var.ValueLabels.Add("h", "hello"); var.ValueLabels.Add("H", "hi"); var.ValueLabels.Add("b", "bye"); Assert.Equal("hello", var.ValueLabels["h"]); Assert.Equal("hi", var.ValueLabels["H"]); Assert.Equal(3, var.ValueLabels.Count); }
public void AddVarWithSameName() { SpssVariable var1 = new SpssStringVariable(); var1.Name = "var1"; this.docWrite.Variables.Add(var1); SpssVariable var2 = new SpssStringVariable(); var2.Name = "Var1"; Assert.Throws <SpssVariableNameConflictException>(() => this.docWrite.Variables.Add(var2)); }
public void AddVariableAfterCommit() { try { this.CommitVariableToNewFile(); } catch (Exception) { Skip.If(true, "AddVariableToNewFileAndCommit() failed."); } SpssVariable var = new SpssStringVariable(); var.Name = "anothervar"; Assert.Throws <InvalidOperationException>(() => this.docWrite.Variables.Add(var)); }
public static void ReadSpssFile() { using (var doc = SpssDataDocument.Open("t.sav", SpssFileAccess.Append)) { SpssNumericVariable accuracy = new SpssNumericVariable { Name = $"Accuracy", Label = $"Distance in pixels from target", MeasurementLevel = MeasurementLevelCode.SPSS_MLVL_RAT }; doc.Variables.Add(accuracy); SpssStringVariable var = (SpssStringVariable)doc.Variables["someLabel"]; SpssCase row = doc.Cases.New(); row[$"Accuracy"] = new string('a', var.Length + 1); } }
public void RenameVarToConflictingName() { SpssVariable var1 = new SpssStringVariable(); var1.Name = "var1"; this.docWrite.Variables.Add(var1); SpssVariable var2 = new SpssStringVariable(); var2.Name = "var2"; this.docWrite.Variables.Add(var2); // Now rename one variable to match the name of the other. // Capitalization differences should still cause an exception. Assert.Throws <SpssVariableNameConflictException>(() => var2.Name = "Var1"); }
public void VarLabelTooLong() { SpssVariable var = new SpssStringVariable(); Assert.Throws <ArgumentOutOfRangeException>(() => var.Label = new string('a', SpssSafeWrapper.SPSS_MAX_VARLABEL + 1)); }
public void VarNameToNull() { SpssVariable var = new SpssStringVariable(); Assert.Throws <ArgumentNullException>(() => var.Name = null); }
public void NewStringVariable() { SpssStringVariable var = new SpssStringVariable(); var.Name = "new string"; }
public void RenameVarToConflictingName() { SpssVariable var1 = new SpssStringVariable(); var1.Name = "var1"; docWrite.Variables.Add(var1); SpssVariable var2 = new SpssStringVariable(); var2.Name = "var2"; docWrite.Variables.Add(var2); // Now rename one variable to match the name of the other. // Capitalization differences should still cause an exception. Assert.Throws<SpssVariableNameConflictException>(() => var2.Name = "Var1"); }
public void AddVarWithSameName() { SpssVariable var1 = new SpssStringVariable(); var1.Name = "var1"; docWrite.Variables.Add(var1); SpssVariable var2 = new SpssStringVariable(); var2.Name = "Var1"; Assert.Throws<SpssVariableNameConflictException>(() => docWrite.Variables.Add(var2)); }
public void AddVariableAfterCommit() { try { CommitVariableToNewFile(); } catch (Exception) { Skip.If(true, "AddVariableToNewFileAndCommit() failed."); } SpssVariable var = new SpssStringVariable(); var.Name = "anothervar"; Assert.Throws<InvalidOperationException>(() => docWrite.Variables.Add(var)); }
public static void CreateMetaData(SpssDataDocument doc, SpssFormat format = SpssFormat.Long) { SpssNumericVariable vID = new SpssNumericVariable(); vID.Name = "UserID"; vID.Label = "The user's ID"; vID.MeasurementLevel = MeasurementLevelCode.SPSS_MLVL_RAT; doc.Variables.Add(vID); if (format == SpssFormat.Long) { SpssNumericVariable attemptNumber = new SpssNumericVariable(); attemptNumber.Name = $"AttemptNumber"; attemptNumber.Label = $"The continuous number of this attempt"; attemptNumber.MeasurementLevel = MeasurementLevelCode.SPSS_MLVL_RAT; doc.Variables.Add(attemptNumber); SpssNumericVariable time = new SpssNumericVariable(); time.Name = $"Efficiency"; time.Label = $"Time taken in seconds for the attempt"; time.MeasurementLevel = MeasurementLevelCode.SPSS_MLVL_RAT; doc.Variables.Add(time); SpssStringVariable hit = new SpssStringVariable(); hit.Name = $"Effectiveness"; hit.Label = $"Whether the user hit the target or not"; hit.ValueLabels.Add("Miss", "Miss"); hit.ValueLabels.Add("Hit", "Hit"); hit.MeasurementLevel = MeasurementLevelCode.SPSS_MLVL_NOM; doc.Variables.Add(hit); SpssNumericVariable accuracy = new SpssNumericVariable(); accuracy.Name = $"Accuracy"; accuracy.Label = $"Distance in pixels from target"; accuracy.MeasurementLevel = MeasurementLevelCode.SPSS_MLVL_RAT; doc.Variables.Add(accuracy); SpssStringVariable gridSize = new SpssStringVariable(); gridSize.Name = $"TargetSize"; gridSize.Label = $"Target (grid) size for attempt"; gridSize.ValueLabels.Add("Small", "Small"); gridSize.ValueLabels.Add("Large", "Large"); gridSize.MeasurementLevel = MeasurementLevelCode.SPSS_MLVL_NOM; doc.Variables.Add(gridSize); SpssStringVariable direction = new SpssStringVariable(); direction.Name = $"Direction"; direction.Label = $"Direction for attempt"; direction.ValueLabels.Add("Push", "Push"); direction.ValueLabels.Add("Pull", "Pull"); direction.MeasurementLevel = MeasurementLevelCode.SPSS_MLVL_NOM; doc.Variables.Add(direction); SpssStringVariable technique = new SpssStringVariable(); technique.Name = $"Technique"; technique.Label = $"The technique used for the attempt"; technique.ValueLabels.Add("Pinch", "Pinch"); technique.ValueLabels.Add("Swipe", "Swipe"); technique.ValueLabels.Add("Throw", "Throw"); technique.ValueLabels.Add("Tilt", "Tilt"); technique.MeasurementLevel = MeasurementLevelCode.SPSS_MLVL_NOM; doc.Variables.Add(technique); SpssStringVariable experiment = new SpssStringVariable(); experiment.Name = $"Experiment"; experiment.Label = $"The experiment in which the attempt was conducted in"; // Target, Field, Old, Accuracy experiment.ValueLabels.Add("Target", "Target"); experiment.ValueLabels.Add("Field", "Field"); experiment.ValueLabels.Add("Old", "Old"); experiment.ValueLabels.Add("Accuracy", "Accuracy"); experiment.MeasurementLevel = MeasurementLevelCode.SPSS_MLVL_NOM; doc.Variables.Add(experiment); } doc.CommitDictionary(); }