EqualBasis: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
 
(14 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
===Zugehörige Evaluatoren===
*'''MathEvaluator'''
===Beschreibung===
===Beschreibung===
Diese Methode bekommt zwei Listen mit Vektoren, sowie die Dimension dieser ('''Achtung:''' Alle Vektoren müssen die gleiche Dimension haben).


Sie überprüft, ob beide Vektoren-Mengen auf die gleiche Basis zurückzuführen sind.


===Syntax===
===Syntax===
Zeile 14: Zeile 19:


===Beispiele===
===Beispiele===
   equalBasis(list(vector(1,1,0),vector(0,1,1)), list(vector(1,1,0),vector(0,1,1)), 3)    -->   True
==== Standardfälle ====
   equalBasis(list(vector(1,1,0),vector(0,1,1)), list(vector(1,1,0),vector(0,1,1)), 3)    --> returns ''true''
  equalBasis(list(vector(1,0), vector(0,1)), list(vector(2,0), vector(0,2)), 2)          --> returns ''true''


====JUnit Tests====
  equalBasis(list(vector(10,5), vector(5,10)), list(vector(3,3), vector(3,3)), 2)        --> returns ''false''
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
  equalBasis(list(vector(1,1,0), vector(0,1,1)), list(vector(1,1,1), vector(1,0,1)), 3)  --> returns ''false''
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
@BeforeClass
public static void beforeTest() {
//set(vector(1,2,3),vector(3,3,3))
equalBasisFillInVariableMap.put(1, OMConverter.toObject("<OMOBJ><OMA><OMS cd='list1' name='list'/><OMA><OMS cd='linalg2' name='vector'/><OMI>1</OMI><OMI>2</OMI><OMI>3</OMI></OMA><OMA><OMS cd='linalg2' name='vector'/><OMI>3</OMI><OMI>3</OMI><OMI>3</OMI></OMA></OMA></OMOBJ>"));
//set(vector(2,5,6),vector(3,3,3))
equalBasisFillInVariableMap.put(2, OMConverter.toObject("<OMOBJ><OMA><OMS cd='list1' name='list'/><OMA><OMS cd='linalg2' name='vector'/><OMI>2</OMI><OMI>5</OMI><OMI>6</OMI></OMA><OMA><OMS cd='linalg2' name='vector'/><OMI>3</OMI><OMI>3</OMI><OMI>3</OMI></OMA></OMA></OMOBJ>"));


//set(vector(1,2,3),vector(3,3,3))
==== Benutzung mit Variablen ====
equalBasisExerciseVariableMap.put("a", OMConverter.toObject("<OMOBJ><OMA><OMS cd='list1' name='list'/><OMA><OMS cd='linalg2' name='vector'/><OMI>1</OMI><OMI>2</OMI><OMI>3</OMI></OMA><OMA><OMS cd='linalg2' name='vector'/><OMI>3</OMI><OMI>3</OMI><OMI>3</OMI></OMA></OMA></OMOBJ>"));
equalBasis([var=a], [var=b], [var=c])
//set(vector(2,5,6),vector(3,3,3))
equalBasisExerciseVariableMap.put("b", OMConverter.toObject("<OMOBJ><OMA><OMS cd='list1' name='list'/><OMA><OMS cd='linalg2' name='vector'/><OMI>2</OMI><OMI>5</OMI><OMI>6</OMI></OMA><OMA><OMS cd='linalg2' name='vector'/><OMI>3</OMI><OMI>3</OMI><OMI>3</OMI></OMA></OMA></OMOBJ>"));
equalBasis([var=a], list(vector(3,3), vector(3,3)), 2)
}


@Test
==== Benutzung mit studentischen Eingaben ====
public void testEqualBasis1() {
'''Jack2:'''
assertTrue(Evaluator.getBooleanResult("equalBasis('{vector(1,1,0);vector(0,1,1)}', 'set(vector(1,1,0),vector(0,1,1))', '3')", equalBasisExerciseVariableMap, equalBasisFillInVariableMap));
equalBasis([pos=1], list(vector(3,3), vector(3,3)), 2)
}
equalBasis(list(vector(10,5), vector(5,10)), [pos=2], 2)


@Test
'''Jack3:'''
public void testEqualBasis2() {
equalBasis([input=fillin1], list(vector(3,3), vector(3,3)), 2)
assertTrue(!Evaluator.getBooleanResult("equalBasis('set(vector(1,1,1),vector(0,1,1))', 'set(vector(1,1,0),vector(0,1,1))', '3')", equalBasisExerciseVariableMap, equalBasisFillInVariableMap));
equalBasis(list(vector(10,5), vector(5,10)), [input=fillin2], 2)
}
 
@Test
public void testEqualBasis3() {
assertTrue(Evaluator.getBooleanResult("equalBasis('{vector(1,1);vector(0,1)}', '{vector(1,1);vector(0,1)}', '2')", equalBasisExerciseVariableMap, equalBasisFillInVariableMap));
}
 
@Test
public void testEqualBasis4() {
assertTrue(Evaluator.getBooleanResult("equalBasis('set(vector(1,1),vector(0,1))', '{vector(1,1);vector(0,1)}', '2')", equalBasisExerciseVariableMap, equalBasisFillInVariableMap));
}
 
@Test
public void testEqualBasis5() {
assertTrue(Evaluator.getBooleanResult("equalBasis('set(vector(1,1,0),vector(0,1,1))', '{vector(1,1,0);vector(0,1,1)}', '3')", equalBasisExerciseVariableMap, equalBasisFillInVariableMap));
}
 
@Test
public void testEqualBasis6() {
assertTrue(Evaluator.getBooleanResult("equalBasis('set(vector(1,1,0),vector(0,1,1))', 'set(vector(3,3,0),vector(0,1,1))', '3')", equalBasisExerciseVariableMap, equalBasisFillInVariableMap));
}
 
@Test
public void testEqualBasisWithInput1() {
assertTrue(Evaluator.getBooleanResult("equalBasis('[pos=1]', '[pos=1]', '3')", equalBasisExerciseVariableMap, equalBasisFillInVariableMap));
}
 
@Test
public void testEqualBasisWithInput2() {
assertTrue(!Evaluator.getBooleanResult("equalBasis('[pos=1]', '[pos=2]', '3')", equalBasisExerciseVariableMap, equalBasisFillInVariableMap));
}
 
@Test
public void testEqualBasisWithVariables1() {
assertTrue(Evaluator.getBooleanResult("equalBasis('[var=a]', '[var=a]', '3')", equalBasisExerciseVariableMap, equalBasisFillInVariableMap));
}
 
@Test
public void testEqualBasisWithVariables2() {
assertTrue(!Evaluator.getBooleanResult("equalBasis('[var=a]', '[var=b]', '3')", equalBasisExerciseVariableMap, equalBasisFillInVariableMap));
}
 
@Test(expected=FunctionInvalidArgumentTypeException.class)
public void testEqualBasisWithWrongInputCharacterAsThirdParameter() {
Evaluator.getBooleanResult("equalBasis('(vector(QQ,(1,1,0)),vector(QQ,(0,1,1)))', '(vector(QQ,(3,3,0)),vector(QQ,(0,1,1)))', 'c')", equalBasisExerciseVariableMap, equalBasisFillInVariableMap);
fail();
}
 
@Test(expected=FunctionInvalidArgumentTypeException.class)
public void testEqualBasisWithWrongInputToManyCommas() {
Evaluator.getBooleanResult("equalBasis('(vector(QQ,,(1,1,,0)),vector(QQ,(0,1,1)))', '(vector(QQ,(3,3,0)),vector(QQ,(0,1,1)))', '3')", equalBasisExerciseVariableMap, equalBasisFillInVariableMap);
fail();
}
 
@Test(expected=ParserException.class)
public void TestEqualBasisWithONECharacter() {
Evaluator.getBooleanResult("equalBasis(ab, ab, ab)", equalBasisExerciseVariableMap, equalBasisFillInVariableMap);
fail();
}
 
@Test(expected=FunctionInvalidArgumentTypeException.class)
public void testEqualBasisWithEmptyStringArguments() {
Evaluator.getBooleanResult("equalBasis('', '', '')", equalBasisExerciseVariableMap, equalBasisFillInVariableMap);
fail();
}
 
@Test(expected=FunctionInvalidNumberOfArgumentsException.class)
public void testEqualBasisWithEmptyArgument() {
Evaluator.getBooleanResult("equalBasis()", equalBasisExerciseVariableMap, equalBasisFillInVariableMap);
fail();
}
 
@Test(expected=UndefinedExerciseVariableException.class)
public void testEqualBasisWithoutExerciseVariable() {
Evaluator.getBooleanResult("equalBasis([var=j], [var=j], [var=j])", equalBasisExerciseVariableMap, equalBasisFillInVariableMap);
fail();
}
 
@Test(expected=UndefinedFillInVariableException.class)
public void testEqualBasisWithoutInput() {
Evaluator.getBooleanResult("equalBasis([pos=42], [pos=42], [pos=42])", equalBasisExerciseVariableMap, equalBasisFillInVariableMap);
fail();
}
</syntaxhighlight>


===Hinweise===
===Hinweise===
* Wenn Variablen genutzt werden muss darauf geachtet werden, dass diese die Voraussetzung erfüllen.
* Wenn die Eingabe der Studierenden genutzt wird muss auch hier darauf geachtet werden, dass die Voraussetzungen erfüllt sind und ob diese an der Stelle genutzt werden können.


 
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Testfunktionen]][[Kategorie:Listfunktionen]][[Kategorie:lineare Algebra]][[Kategorie:JACK2]][[Kategorie:JACK3]]
[[Kategorie:Evaluatorfunktion]]

Aktuelle Version vom 18. April 2024, 13:46 Uhr

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Diese Methode bekommt zwei Listen mit Vektoren, sowie die Dimension dieser (Achtung: Alle Vektoren müssen die gleiche Dimension haben).

Sie überprüft, ob beide Vektoren-Mengen auf die gleiche Basis zurückzuführen sind.

Syntax

 equalBasis(List list1, List list2, Ganzzahl dimension)

Parameter

  • list1 - Liste mit Vektoren
  • list2 - Liste mit Vektoren
  • dimension - dimension

Return Value

Beispiele

Standardfälle

 equalBasis(list(vector(1,1,0),vector(0,1,1)), list(vector(1,1,0),vector(0,1,1)), 3)    --> returns true
 equalBasis(list(vector(1,0), vector(0,1)), list(vector(2,0), vector(0,2)), 2)          --> returns true
 equalBasis(list(vector(10,5), vector(5,10)), list(vector(3,3), vector(3,3)), 2)        --> returns false
 equalBasis(list(vector(1,1,0), vector(0,1,1)), list(vector(1,1,1), vector(1,0,1)), 3)  --> returns false

Benutzung mit Variablen

equalBasis([var=a], [var=b], [var=c])

equalBasis([var=a], list(vector(3,3), vector(3,3)), 2)

Benutzung mit studentischen Eingaben

Jack2:
equalBasis([pos=1], list(vector(3,3), vector(3,3)), 2)
equalBasis(list(vector(10,5), vector(5,10)), [pos=2], 2)
Jack3:
equalBasis([input=fillin1], list(vector(3,3), vector(3,3)), 2)
equalBasis(list(vector(10,5), vector(5,10)), [input=fillin2], 2)

Hinweise

  • Wenn Variablen genutzt werden muss darauf geachtet werden, dass diese die Voraussetzung erfüllen.
  • Wenn die Eingabe der Studierenden genutzt wird muss auch hier darauf geachtet werden, dass die Voraussetzungen erfüllt sind und ob diese an der Stelle genutzt werden können.