diff --git a/.c9/metadata/tab0 b/.c9/metadata/tab0 index d202089..4e479a4 100644 --- a/.c9/metadata/tab0 +++ b/.c9/metadata/tab0 @@ -1 +1 @@ -{"filter":false,"title":"bash - \"alu0100600582-pract8_lpp-1107645\"","tooltip":"bash - \"alu0100600582-pract8_lpp-1107645\"","undoManager":{"mark":0,"position":-1,"stack":[]},"terminal":{"id":"alu0100600582@pract8_lpp_750","cwd":"","width":1008,"height":281,"scrollTop":9044},"timestamp":1416478439722,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"} \ No newline at end of file +{"filter":false,"title":"bash - \"alu0100600582-pract8_lpp-1107645\"","tooltip":"bash - \"alu0100600582-pract8_lpp-1107645\"","undoManager":{"mark":0,"position":-1,"stack":[]},"terminal":{"id":"alu0100600582@pract8_lpp_750","cwd":"","width":1008,"height":281,"scrollTop":13885},"timestamp":1416478439722,"hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709"} \ No newline at end of file diff --git a/.c9/metadata/workspace/lib/Examenes.rb b/.c9/metadata/workspace/lib/Examenes.rb new file mode 100644 index 0000000..c27bbe8 --- /dev/null +++ b/.c9/metadata/workspace/lib/Examenes.rb @@ -0,0 +1 @@ +{"filter":false,"title":"Examenes.rb","tooltip":"/lib/Examenes.rb","undoManager":{"mark":33,"position":33,"stack":[[{"group":"doc","deltas":[{"start":{"row":6,"column":28},"end":{"row":7,"column":0},"action":"insert","lines":["",""]},{"start":{"row":7,"column":0},"end":{"row":7,"column":0},"action":"insert","lines":[""]}]}],[{"group":"doc","deltas":[{"start":{"row":7,"column":0},"end":{"row":7,"column":28},"action":"insert","lines":["require \"Examenes/examen.rb\""]}]}],[{"group":"doc","deltas":[{"start":{"row":7,"column":23},"end":{"row":7,"column":24},"action":"remove","lines":["n"]}]}],[{"group":"doc","deltas":[{"start":{"row":7,"column":22},"end":{"row":7,"column":23},"action":"remove","lines":["e"]}]}],[{"group":"doc","deltas":[{"start":{"row":7,"column":21},"end":{"row":7,"column":22},"action":"remove","lines":["m"]}]}],[{"group":"doc","deltas":[{"start":{"row":7,"column":20},"end":{"row":7,"column":21},"action":"remove","lines":["a"]}]}],[{"group":"doc","deltas":[{"start":{"row":7,"column":19},"end":{"row":7,"column":20},"action":"remove","lines":["x"]}]}],[{"group":"doc","deltas":[{"start":{"row":7,"column":18},"end":{"row":7,"column":19},"action":"remove","lines":["e"]}]}],[{"group":"doc","deltas":[{"start":{"row":7,"column":18},"end":{"row":7,"column":19},"action":"insert","lines":["i"]}]}],[{"group":"doc","deltas":[{"start":{"row":7,"column":19},"end":{"row":7,"column":20},"action":"insert","lines":["n"]}]}],[{"group":"doc","deltas":[{"start":{"row":7,"column":20},"end":{"row":7,"column":21},"action":"insert","lines":["v"]}]}],[{"group":"doc","deltas":[{"start":{"row":7,"column":21},"end":{"row":7,"column":22},"action":"insert","lines":["e"]}]}],[{"group":"doc","deltas":[{"start":{"row":7,"column":22},"end":{"row":7,"column":23},"action":"insert","lines":["r"]}]}],[{"group":"doc","deltas":[{"start":{"row":7,"column":23},"end":{"row":7,"column":24},"action":"insert","lines":["t"]}]}],[{"group":"doc","deltas":[{"start":{"row":4,"column":0},"end":{"row":4,"column":33},"action":"remove","lines":["require \"Examenes/verdaderofalso\""]}]}],[{"group":"doc","deltas":[{"start":{"row":3,"column":25},"end":{"row":4,"column":0},"action":"remove","lines":["",""]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":0},"end":{"row":2,"column":33},"action":"remove","lines":["require \"Examenes/preguntasimple\""]}]}],[{"group":"doc","deltas":[{"start":{"row":1,"column":27},"end":{"row":2,"column":0},"action":"remove","lines":["",""]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":9},"end":{"row":5,"column":18},"action":"remove","lines":["Examenes/"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":14},"end":{"row":5,"column":15},"action":"remove","lines":["t"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":14},"end":{"row":5,"column":15},"action":"insert","lines":["s"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":15},"end":{"row":5,"column":16},"action":"insert","lines":["o"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":16},"end":{"row":5,"column":17},"action":"insert","lines":["r"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":9},"end":{"row":5,"column":10},"action":"insert","lines":["E"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":10},"end":{"row":5,"column":11},"action":"insert","lines":["x"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":11},"end":{"row":5,"column":12},"action":"insert","lines":["a"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":12},"end":{"row":5,"column":13},"action":"insert","lines":["m"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":13},"end":{"row":5,"column":14},"action":"insert","lines":["e"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":14},"end":{"row":5,"column":15},"action":"insert","lines":["n"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":15},"end":{"row":5,"column":16},"action":"insert","lines":["e"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":16},"end":{"row":5,"column":17},"action":"insert","lines":["s"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":17},"end":{"row":5,"column":18},"action":"insert","lines":["/"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":0},"end":{"row":5,"column":30},"action":"remove","lines":["require \"Examenes/inversor.rb\""]}]}],[{"group":"doc","deltas":[{"start":{"row":4,"column":28},"end":{"row":5,"column":0},"action":"remove","lines":["",""]}]}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":4,"column":28},"end":{"row":4,"column":28},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":338,"mode":"ace/mode/ruby"}},"timestamp":1416916479594,"hash":"f8d76cd4ede06b798867e3e19f5d2351baeaac8f"} \ No newline at end of file diff --git a/.c9/metadata/workspace/lib/Examenes/Listas.rb b/.c9/metadata/workspace/lib/Examenes/Listas.rb new file mode 100644 index 0000000..146b68f --- /dev/null +++ b/.c9/metadata/workspace/lib/Examenes/Listas.rb @@ -0,0 +1 @@ +{"changed":true,"filter":false,"title":"Listas.rb","tooltip":"/lib/Examenes/Listas.rb","value":"# -*- coding: utf-8 -*-\nrequire 'rubygems'\nrequire 'bundler/setup'\nrequire 'rspec'\n\n# create a Struct with :value and :next\nNode = Struct.new(:value, :next, :previous)\n\nmodule Examenes\n class List\n include Enumerable\n attr_reader :cabeza, :cola, :numeroNodos \n\n\n def initialize\n @cabeza = nil\n @cola = nil\n @numeroNodos = 0\n end\n\n\n def push(*valor)\n for i in 0...valor.length\n nuevoNode = Node.new(valor[i], @nil, nil)\n if @numeroNodos == 0 then\n @cabeza = nuevoNode\n @cola = nuevoNode\n else\n @cabeza.previous = nuevoNode\n nuevoNode.next = @cabeza\n @cabeza = nuevoNode \n end\n @numeroNodos = @numeroNodos + 1\n end\n end\n\n\n def pop\n if @numeroNodos == 1 then\n @cabeza = nil\n @cola = nil\n else\n @cabeza = @cabeza.next\n end\n @numeroNodos = @numeroNodos - 1\n end\n \n \n def sacarValor\n @valor = @cabeza.value\n if @numeroNodos == 1 then\n @cabeza = nil\n @cola = nil\n else\n @cabeza = @cabeza.next\n end\n @numeroNodos = @numeroNodos - 1\n return @valor\n end\n \n \n def verDesdeCabeza #Muestra la lista empezando desde la cabeza\n salida = \"\"\n nodo = @cabeza\n while nodo != nil do\n salida = salida + nodo.value.to_s + \" \"\n nodo = nodo.next\n end\n return salida\n end\n \n\n def verDesdeCola #Muestra la lista empezando por la cola\n salida = \"\"\n nodo = @cola\n while nodo != nil do\n salida = salida + nodo.value.to_s + \" \"\n nodo = nodo.previous\n end\n return salida\n end\n\n\n def obtenerValor(numero)\n valor = \"\"\n i = 0\n nodo = @cabeza\n while i < numero do\n i = i + 1\n valor = nodo.value\n nodo = nodo.next\n end\n return valor\n end\n\n\n\n\n def each\n nodo = @cabeza\n while nodo != nil do\n yield nodo.value\n nodo = nodo.next\n end\n end\n\n\n end\nend\n\n","undoManager":{"mark":97,"position":98,"stack":[[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":35,"column":0},"end":{"row":35,"column":3}},"text":"end"},{"action":"removeLines","range":{"start":{"row":0,"column":0},"end":{"row":35,"column":0}},"nl":"\n","lines":["# create a Struct with :value and :next","Node = Struct.new(:value, :next)","","class List"," "," attr_accessor :ini"," def initialize"," @ini=Node.new(nil,nil)"," end"," "," def push(elemento)"," if @ini.value == nil"," @ini.value= elemento"," else"," aux=@ini"," while aux.next != nil do"," aux=aux.next"," end"," aux.next= Node.new(elemento,nil)"," end"," end"," "," def pop"," aux=@ini"," if aux.next==nil"," @ini=Node.new(nil,nil)"," else"," @ini=aux.next"," end"," return aux.value"," end"," "," def get_ini"," return @ini.value"," end"]},{"action":"insertText","range":{"start":{"row":0,"column":0},"end":{"row":0,"column":39}},"text":"Node = Struct.new(:value, :prev, :next)"},{"action":"insertText","range":{"start":{"row":0,"column":39},"end":{"row":1,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":1,"column":0},"end":{"row":63,"column":0}},"lines":["class Node","include Comparable","def <=> (other)","value <=> other.value","end","end","class List","include Enumerable","def initialize(value)","@head = Node.new(value)","end","def pop()","freeNode = @head.value","if @head.next == nil","return freeNode","end","@head = @head.next","@head.prev = nil","freeNode","end","def add(value)","current = @head","while current.next != nil","current = current.next","end","current.next = Node.new(value,current)","end","def add_top(value)","current = @head","nodeNew = Node.new(value)","@head = nodeNew","current.prev = @head","@head.next = current","end","def add_many(values)","values.each do |x|","add(x)","end","end","def head","@head.value.to_s","end","def each","current = @head","while current != nil","yield current.value","current = current.next","end","end","#Método creado para comprobar que está doblemente enlazada.","def print_reverse","current = @head","while current.next != nil","current = current.next","end","while current.prev != nil","puts current.value","current = current.prev","end","puts current.value","end","end"]}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":1,"column":0},"end":{"row":2,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":3,"column":0},"end":{"row":3,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":4,"column":0},"end":{"row":5,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":5,"column":0},"end":{"row":5,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":6,"column":0},"end":{"row":6,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":7,"column":0},"end":{"row":7,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":8,"column":3},"end":{"row":9,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":11,"column":0},"end":{"row":11,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":12,"column":0},"end":{"row":13,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":13,"column":0},"end":{"row":13,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":14,"column":0},"end":{"row":14,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":15,"column":0},"end":{"row":15,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":16,"column":0},"end":{"row":17,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":17,"column":0},"end":{"row":17,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":18,"column":0},"end":{"row":18,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":19,"column":0},"end":{"row":19,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":20,"column":0},"end":{"row":20,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":21,"column":0},"end":{"row":21,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":22,"column":0},"end":{"row":22,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":23,"column":0},"end":{"row":23,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":24,"column":0},"end":{"row":24,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":25,"column":0},"end":{"row":25,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":26,"column":0},"end":{"row":27,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":27,"column":0},"end":{"row":27,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":28,"column":0},"end":{"row":28,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":29,"column":0},"end":{"row":29,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":30,"column":0},"end":{"row":30,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":31,"column":0},"end":{"row":31,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":32,"column":0},"end":{"row":32,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":33,"column":0},"end":{"row":33,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":34,"column":0},"end":{"row":35,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":19,"column":4},"end":{"row":19,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":20,"column":4},"end":{"row":20,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":21,"column":4},"end":{"row":21,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":29,"column":4},"end":{"row":29,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":30,"column":4},"end":{"row":30,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":31,"column":4},"end":{"row":31,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":35,"column":0},"end":{"row":35,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":36,"column":0},"end":{"row":36,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":37,"column":0},"end":{"row":37,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":38,"column":0},"end":{"row":38,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":39,"column":0},"end":{"row":39,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":40,"column":0},"end":{"row":40,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":41,"column":0},"end":{"row":41,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":42,"column":0},"end":{"row":43,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":43,"column":0},"end":{"row":43,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":44,"column":0},"end":{"row":44,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":45,"column":0},"end":{"row":45,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":46,"column":0},"end":{"row":46,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":47,"column":0},"end":{"row":47,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":48,"column":0},"end":{"row":49,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":49,"column":0},"end":{"row":49,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":50,"column":0},"end":{"row":50,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":51,"column":0},"end":{"row":51,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":52,"column":0},"end":{"row":53,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":53,"column":0},"end":{"row":53,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":54,"column":0},"end":{"row":54,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":55,"column":0},"end":{"row":55,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":56,"column":0},"end":{"row":56,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":57,"column":1},"end":{"row":57,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":57,"column":4},"end":{"row":57,"column":5}},"text":"c"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":57,"column":0},"end":{"row":57,"column":1}},"text":"c"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":57,"column":0},"end":{"row":57,"column":1}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":58,"column":0},"end":{"row":58,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":55,"column":4},"end":{"row":55,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":56,"column":4},"end":{"row":56,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":57,"column":4},"end":{"row":57,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":58,"column":4},"end":{"row":58,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":59,"column":0},"end":{"row":59,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":60,"column":0},"end":{"row":61,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":61,"column":0},"end":{"row":62,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"removeLines","range":{"start":{"row":61,"column":0},"end":{"row":62,"column":0}},"nl":"\n","lines":[""]}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":62,"column":0},"end":{"row":62,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":63,"column":0},"end":{"row":63,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":64,"column":0},"end":{"row":64,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":65,"column":0},"end":{"row":65,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":64,"column":4},"end":{"row":64,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":65,"column":3},"end":{"row":65,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":65,"column":4},"end":{"row":65,"column":5}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":65,"column":4},"end":{"row":65,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":66,"column":0},"end":{"row":66,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":66,"column":4},"end":{"row":66,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":67,"column":0},"end":{"row":67,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":67,"column":4},"end":{"row":67,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":67,"column":8},"end":{"row":67,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":67,"column":8},"end":{"row":67,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":68,"column":0},"end":{"row":68,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":68,"column":4},"end":{"row":68,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":69,"column":0},"end":{"row":69,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":69,"column":4},"end":{"row":69,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":70,"column":0},"end":{"row":70,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":70,"column":4},"end":{"row":70,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":71,"column":0},"end":{"row":71,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":71,"column":4},"end":{"row":71,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":72,"column":0},"end":{"row":72,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeLines","range":{"start":{"row":0,"column":0},"end":{"row":74,"column":0}},"nl":"\n","lines":["Node = Struct.new(:value, :prev, :next)","","class Node"," include Comparable",""," def <=> (other)"," value <=> other.value"," end","end","","class List"," include Enumerable",""," def initialize(value)"," @head = Node.new(value)"," end",""," def pop()"," freeNode = @head.value"," if @head.next == nil"," return freeNode"," end"," @head = @head.next"," @head.prev = nil"," freeNode"," end",""," def add(value)"," current = @head"," while current.next != nil"," current = current.next"," end"," current.next = Node.new(value,current)"," end",""," def add_top(value)"," current = @head"," nodeNew = Node.new(value)"," @head = nodeNew"," current.prev = @head"," @head.next = current"," end",""," def add_many(values)"," values.each do |x|"," add(x)"," end"," end",""," def head"," @head.value.to_s"," end",""," def each"," current = @head"," while current != nil"," yield current.value"," current = current.next"," end"," end","","#Método creado para comprobar que está doblemente enlazada."," def print_reverse"," current = @head"," while current.next != nil"," current = current.next"," end"," while current.prev != nil"," puts current.value"," current = current.prev"," end"," puts current.value"," end","end"]},{"action":"insertText","range":{"start":{"row":0,"column":0},"end":{"row":0,"column":32}},"text":"Node = Struct.new(:value, :next)"},{"action":"insertText","range":{"start":{"row":0,"column":32},"end":{"row":1,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":1,"column":0},"end":{"row":34,"column":0}},"lines":["","class List"," "," attr_accessor :ini"," def initialize"," @ini=Node.new(nil,nil)"," end"," "," def push(elemento)"," if @ini.value == nil"," @ini.value= elemento"," else"," aux=@ini"," while aux.next != nil do"," aux=aux.next"," end"," aux.next= Node.new(elemento,nil)"," end"," end"," "," def pop"," aux=@ini"," if aux.next==nil"," @ini=Node.new(nil,nil)"," else"," @ini=aux.next"," end"," return aux.value"," end"," "," def get_ini"," return @ini.value"," end"]},{"action":"insertText","range":{"start":{"row":34,"column":0},"end":{"row":34,"column":3}},"text":"end"}]}],[{"group":"doc","deltas":[{"start":{"row":0,"column":0},"end":{"row":34,"column":3},"action":"remove","lines":["Node = Struct.new(:value, :next)","","class List"," "," attr_accessor :ini"," def initialize"," @ini=Node.new(nil,nil)"," end"," "," def push(elemento)"," if @ini.value == nil"," @ini.value= elemento"," else"," aux=@ini"," while aux.next != nil do"," aux=aux.next"," end"," aux.next= Node.new(elemento,nil)"," end"," end"," "," def pop"," aux=@ini"," if aux.next==nil"," @ini=Node.new(nil,nil)"," else"," @ini=aux.next"," end"," return aux.value"," end"," "," def get_ini"," return @ini.value"," end","end"]},{"start":{"row":0,"column":0},"end":{"row":110,"column":0},"action":"insert","lines":["# -*- coding: utf-8 -*-","require 'rubygems'","require 'bundler/setup'","require 'rspec'","","# create a Struct with :value and :next","Node = Struct.new(:value, :next, :previous)","","module Exam"," class List"," include Enumerable"," attr_reader :cabeza, :cola, :numeroNodos ","",""," def initialize"," @cabeza = nil"," @cola = nil"," @numeroNodos = 0"," end","",""," def push(*valor)"," for i in 0...valor.length"," nuevoNode = Node.new(valor[i], @nil, nil)"," if @numeroNodos == 0 then"," @cabeza = nuevoNode"," @cola = nuevoNode"," else"," @cabeza.previous = nuevoNode"," nuevoNode.next = @cabeza"," @cabeza = nuevoNode "," end"," @numeroNodos = @numeroNodos + 1"," end"," end","",""," def pop"," if @numeroNodos == 1 then"," @cabeza = nil"," @cola = nil"," else"," @cabeza = @cabeza.next"," end"," @numeroNodos = @numeroNodos - 1"," end"," "," "," def sacarValor"," @valor = @cabeza.value"," if @numeroNodos == 1 then"," @cabeza = nil"," @cola = nil"," else"," @cabeza = @cabeza.next"," end"," @numeroNodos = @numeroNodos - 1"," return @valor"," end"," "," "," def verDesdeCabeza #Muestra la lista empezando desde la cabeza"," salida = \"\""," nodo = @cabeza"," while nodo != nil do"," salida = salida + nodo.value.to_s + \" \""," nodo = nodo.next"," end"," return salida"," end"," ",""," def verDesdeCola #Muestra la lista empezando por la cola"," salida = \"\""," nodo = @cola"," while nodo != nil do"," salida = salida + nodo.value.to_s + \" \""," nodo = nodo.previous"," end"," return salida"," end","",""," def obtenerValor(numero)"," valor = \"\""," i = 0"," nodo = @cabeza"," while i < numero do"," i = i + 1"," valor = nodo.value"," nodo = nodo.next"," end"," return valor"," end","","","",""," def each"," nodo = @cabeza"," while nodo != nil do"," yield nodo.value"," nodo = nodo.next"," end"," end","",""," end","end","",""]}]}],[{"group":"doc","deltas":[{"start":{"row":8,"column":11},"end":{"row":8,"column":15},"action":"insert","lines":["enes"]}]}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":8,"column":15},"end":{"row":8,"column":15},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1416914684762} \ No newline at end of file diff --git a/.c9/metadata/workspace/lib/Examenes/exam.rb b/.c9/metadata/workspace/lib/Examenes/exam.rb new file mode 100644 index 0000000..73cf8b4 --- /dev/null +++ b/.c9/metadata/workspace/lib/Examenes/exam.rb @@ -0,0 +1 @@ +{"filter":false,"title":"exam.rb","tooltip":"/lib/Examenes/exam.rb","undoManager":{"mark":40,"position":40,"stack":[[{"group":"doc","deltas":[{"action":"removeLines","range":{"start":{"row":0,"column":0},"end":{"row":23,"column":0}},"nl":"\n","lines":["class Pregunta"," attr_reader :preg, :correcta, :dif"," include Comparable"," "," def initialize (preg, correcta, dif)"," @preg = preg","\t@correcta = correcta"," @dif = dif"," end"," def to_s"," aux = @preg + \"\\n\""," aux"," end"," def <=> (other)"," @dif <=> other.dif"," end"," "," def == (other)"," @preg == other.preg"," end"," "," ","end"]},{"action":"insertText","range":{"start":{"row":0,"column":0},"end":{"row":0,"column":12}},"text":"#module Exam"},{"action":"insertText","range":{"start":{"row":0,"column":12},"end":{"row":1,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":1,"column":0},"end":{"row":20,"column":0}},"lines":["class Question","include Comparable","attr_reader :ask, :difficulty","def initialize(ask, difficulty = 0)","@ask = ask","@difficulty = difficulty","end","def to_s","cadena = \"#{@ask}\\n\"","cadena","end","def <=>(other)","return nil unless other.is_a? Question","@difficulty <=> other.difficulty","end","def ==(other)","@difficulty == other.difficulty# && @ask == other.ask","end","end"]},{"action":"insertText","range":{"start":{"row":20,"column":0},"end":{"row":20,"column":4}},"text":"#end"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":0,"column":0},"end":{"row":0,"column":12}},"text":"#module Exam"}]}],[{"group":"doc","deltas":[{"action":"removeLines","range":{"start":{"row":0,"column":0},"end":{"row":1,"column":0}},"nl":"\n","lines":[""]}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":0,"column":6},"end":{"row":0,"column":14}},"text":"Pregunta"},{"action":"insertText","range":{"start":{"row":0,"column":14},"end":{"row":1,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":1,"column":0},"end":{"row":13,"column":0}},"lines":[" attr_reader :preg, :correcta, :dif"," include Comparable"," "," def initialize (preg, correcta, dif)"," @preg = preg","\t@correcta = correcta"," @dif = dif"," end"," def to_s"," aux = @preg + \"\\n\""," aux"," end"]},{"action":"insertText","range":{"start":{"row":13,"column":0},"end":{"row":13,"column":4}},"text":" "},{"action":"removeLines","range":{"start":{"row":14,"column":0},"end":{"row":24,"column":0}},"nl":"\n","lines":["include Comparable","attr_reader :ask, :difficulty","def initialize(ask, difficulty = 0)","@ask = ask","@difficulty = difficulty","end","def to_s","cadena = \"#{@ask}\\n\"","cadena","end"]},{"action":"removeText","range":{"start":{"row":13,"column":4},"end":{"row":13,"column":12}},"text":"Question"},{"action":"removeText","range":{"start":{"row":13,"column":4},"end":{"row":14,"column":0}},"text":"\n"},{"action":"insertText","range":{"start":{"row":13,"column":11},"end":{"row":13,"column":12}},"text":" "},{"action":"insertText","range":{"start":{"row":14,"column":0},"end":{"row":14,"column":26}},"text":" @dif <=> other.dif"},{"action":"insertText","range":{"start":{"row":14,"column":26},"end":{"row":15,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":15,"column":0},"end":{"row":17,"column":0}},"lines":[" end"," "]},{"action":"insertText","range":{"start":{"row":17,"column":0},"end":{"row":17,"column":4}},"text":" "},{"action":"removeLines","range":{"start":{"row":18,"column":0},"end":{"row":20,"column":0}},"nl":"\n","lines":["@difficulty <=> other.difficulty","end"]},{"action":"removeText","range":{"start":{"row":17,"column":4},"end":{"row":17,"column":42}},"text":"return nil unless other.is_a? Question"},{"action":"removeText","range":{"start":{"row":17,"column":4},"end":{"row":18,"column":0}},"text":"\n"},{"action":"insertText","range":{"start":{"row":17,"column":10},"end":{"row":17,"column":11}},"text":" "},{"action":"insertText","range":{"start":{"row":18,"column":0},"end":{"row":18,"column":27}},"text":" @preg == other.preg"},{"action":"insertText","range":{"start":{"row":18,"column":27},"end":{"row":19,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":19,"column":0},"end":{"row":22,"column":0}},"lines":[" end"," "," "]},{"action":"removeText","range":{"start":{"row":25,"column":0},"end":{"row":25,"column":1}},"text":"#"},{"action":"removeLines","range":{"start":{"row":22,"column":0},"end":{"row":25,"column":0}},"nl":"\n","lines":["@difficulty == other.difficulty# && @ask == other.ask","end","end"]},{"action":"insertText","range":{"start":{"row":22,"column":3},"end":{"row":23,"column":0}},"text":"\n"},{"action":"removeText","range":{"start":{"row":13,"column":0},"end":{"row":13,"column":4}},"text":" "},{"action":"removeLines","range":{"start":{"row":1,"column":0},"end":{"row":13,"column":0}},"nl":"\n","lines":[" attr_reader :preg, :correcta, :dif"," include Comparable"," "," def initialize (preg, correcta, dif)"," @preg = preg","\t@correcta = correcta"," @dif = dif"," end"," def to_s"," aux = @preg + \"\\n\""," aux"," end"]},{"action":"removeText","range":{"start":{"row":0,"column":6},"end":{"row":0,"column":14}},"text":"Pregunta"},{"action":"removeText","range":{"start":{"row":0,"column":6},"end":{"row":1,"column":0}},"text":"\n"},{"action":"insertText","range":{"start":{"row":0,"column":6},"end":{"row":0,"column":14}},"text":"Question"},{"action":"insertText","range":{"start":{"row":0,"column":14},"end":{"row":1,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":1,"column":0},"end":{"row":11,"column":0}},"lines":["include Comparable","attr_reader :ask, :difficulty","def initialize(ask, difficulty = 0)","@ask = ask","@difficulty = difficulty","end","def to_s","cadena = \"#{@ask}\\n\"","cadena","end"]},{"action":"removeText","range":{"start":{"row":11,"column":7},"end":{"row":11,"column":8}},"text":" "},{"action":"removeText","range":{"start":{"row":15,"column":0},"end":{"row":15,"column":4}},"text":" "},{"action":"removeLines","range":{"start":{"row":12,"column":0},"end":{"row":15,"column":0}},"nl":"\n","lines":[" @dif <=> other.dif"," end"," "]},{"action":"insertText","range":{"start":{"row":12,"column":0},"end":{"row":12,"column":38}},"text":"return nil unless other.is_a? Question"},{"action":"insertText","range":{"start":{"row":12,"column":38},"end":{"row":13,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":13,"column":0},"end":{"row":15,"column":0}},"lines":["@difficulty <=> other.difficulty","end"]},{"action":"removeText","range":{"start":{"row":15,"column":6},"end":{"row":15,"column":7}},"text":" "},{"action":"removeLines","range":{"start":{"row":16,"column":0},"end":{"row":20,"column":0}},"nl":"\n","lines":[" @preg == other.preg"," end"," "," "]},{"action":"insertText","range":{"start":{"row":16,"column":0},"end":{"row":16,"column":53}},"text":"@difficulty == other.difficulty# && @ask == other.ask"},{"action":"insertText","range":{"start":{"row":16,"column":53},"end":{"row":17,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":17,"column":0},"end":{"row":19,"column":0}},"lines":["end","end"]},{"action":"insertText","range":{"start":{"row":19,"column":0},"end":{"row":19,"column":1}},"text":"#"},{"action":"removeText","range":{"start":{"row":19,"column":4},"end":{"row":20,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":1,"column":0},"end":{"row":1,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":0},"end":{"row":2,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":3,"column":0},"end":{"row":4,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":4,"column":0},"end":{"row":4,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":5,"column":0},"end":{"row":5,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":6,"column":0},"end":{"row":6,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":7,"column":0},"end":{"row":7,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":8,"column":0},"end":{"row":9,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":9,"column":0},"end":{"row":9,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":10,"column":0},"end":{"row":10,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":11,"column":0},"end":{"row":11,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":12,"column":0},"end":{"row":12,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":13,"column":0},"end":{"row":14,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":14,"column":0},"end":{"row":14,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":15,"column":0},"end":{"row":15,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":16,"column":0},"end":{"row":16,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":17,"column":0},"end":{"row":17,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":18,"column":0},"end":{"row":19,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":19,"column":0},"end":{"row":19,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":20,"column":0},"end":{"row":20,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":21,"column":0},"end":{"row":21,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":22,"column":0},"end":{"row":22,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":23,"column":3},"end":{"row":23,"column":4}},"text":"d"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":23,"column":2},"end":{"row":23,"column":3}},"text":"n"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":23,"column":1},"end":{"row":23,"column":2}},"text":"e"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":23,"column":0},"end":{"row":23,"column":1}},"text":"#"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":22,"column":7},"end":{"row":23,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":22,"column":0},"end":{"row":22,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":22,"column":0},"end":{"row":22,"column":3}},"text":"end"},{"action":"removeLines","range":{"start":{"row":0,"column":0},"end":{"row":22,"column":0}},"nl":"\n","lines":["class Question"," include Comparable"," attr_reader :ask, :difficulty",""," def initialize(ask, difficulty = 0)"," @ask = ask"," @difficulty = difficulty"," end",""," def to_s"," cadena = \"#{@ask}\\n\""," cadena"," end",""," def <=>(other)"," return nil unless other.is_a? Question"," @difficulty <=> other.difficulty"," end",""," def ==(other)"," @difficulty == other.difficulty# && @ask == other.ask"," end"]},{"action":"insertText","range":{"start":{"row":0,"column":0},"end":{"row":0,"column":14}},"text":"class Pregunta"},{"action":"insertText","range":{"start":{"row":0,"column":14},"end":{"row":1,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":1,"column":0},"end":{"row":23,"column":0}},"lines":[" attr_reader :preg, :correcta, :dif"," include Comparable"," "," def initialize (preg, correcta, dif)"," @preg = preg","\t@correcta = correcta"," @dif = dif"," end"," def to_s"," aux = @preg + \"\\n\""," aux"," end"," def <=> (other)"," @dif <=> other.dif"," end"," "," def == (other)"," @preg == other.preg"," end"," "," ","end"]}]}],[{"group":"doc","deltas":[{"start":{"row":0,"column":0},"end":{"row":23,"column":0},"action":"remove","lines":["class Pregunta"," attr_reader :preg, :correcta, :dif"," include Comparable"," "," def initialize (preg, correcta, dif)"," @preg = preg","\t@correcta = correcta"," @dif = dif"," end"," def to_s"," aux = @preg + \"\\n\""," aux"," end"," def <=> (other)"," @dif <=> other.dif"," end"," "," def == (other)"," @preg == other.preg"," end"," "," ","end",""]},{"start":{"row":0,"column":0},"end":{"row":58,"column":3},"action":"insert","lines":["# -*- coding: utf-8 -*-","require 'rubygems'","require 'bundler/setup'","require 'rspec'","require 'exam/version'","","module Exam"," class Examen"," include Comparable"," attr_reader :pregunta, :respuestas"," "," def initialize (pregunta, respuestas)"," @pregunta = pregunta"," @respuestas = respuestas"," end",""," def numero"," return @respuestas.count"," end",""," def obtenerRespuestas(i)"," @respuesta = @respuestas[i]"," end",""," def mostrar"," @salida = @pregunta + \"\\n\""," @respuestas.each do |resp|"," @salida = @salida + resp + \"\\n\""," end"," return @salida"," end"," "," def <=>(objetoExamen)"," pregunta.size <=> objetoExamen.pregunta.size"," end"," "," def == (objetoExamen)"," if @pregunta == objetoExamen.pregunta && @respuestas == objetoExamen.respuestas then"," return true"," else"," return false"," end"," end"," ",""," end"," "," "," "," class Preguntas < Examen"," "," def initialize (pregunta)"," @pregunta = pregunta"," @respuestas = [\"a) Cierto\", \"b) Falso\"]"," end"," "," end"," ","end"]}]}],[{"group":"doc","deltas":[{"start":{"row":4,"column":9},"end":{"row":4,"column":10},"action":"remove","lines":["e"]}]}],[{"group":"doc","deltas":[{"start":{"row":4,"column":9},"end":{"row":4,"column":10},"action":"insert","lines":["E"]}]}],[{"group":"doc","deltas":[{"start":{"row":4,"column":9},"end":{"row":4,"column":10},"action":"remove","lines":["E"]},{"start":{"row":4,"column":9},"end":{"row":5,"column":0},"action":"insert","lines":["Examenes",""]}]}],[{"group":"doc","deltas":[{"start":{"row":4,"column":17},"end":{"row":5,"column":0},"action":"remove","lines":["",""]}]}],[{"group":"doc","deltas":[{"start":{"row":4,"column":17},"end":{"row":4,"column":18},"action":"remove","lines":["x"]}]}],[{"group":"doc","deltas":[{"start":{"row":4,"column":17},"end":{"row":4,"column":18},"action":"remove","lines":["a"]}]}],[{"group":"doc","deltas":[{"start":{"row":4,"column":17},"end":{"row":4,"column":18},"action":"remove","lines":["m"]}]}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":4,"column":17},"end":{"row":4,"column":17},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1416915799409,"hash":"8903dbd1420dce399a69699bf24e27c3bb1d48fd"} \ No newline at end of file diff --git a/.c9/metadata/workspace/lib/Examenes/examen.rb b/.c9/metadata/workspace/lib/Examenes/examen.rb new file mode 100644 index 0000000..1d589d0 --- /dev/null +++ b/.c9/metadata/workspace/lib/Examenes/examen.rb @@ -0,0 +1 @@ +{"changed":true,"filter":false,"title":"examen.rb","tooltip":"/lib/Examenes/examen.rb","value":"# -*- coding: utf-8 -*-\nrequire 'rubygems'\nrequire 'bundler/setup'\nrequire 'rspec'\n\nmodule Examenes\n class ExamenCompleto\n attr_reader :lista_preguntas, :lista_soluciones\n \n def initialize (preguntas, soluciones)\n @lista_preguntas = preguntas\n @lista_soluciones = soluciones\n end\n\n def obtenerPreguntas\n return @lista_preguntas\n end\n \n def establecerPreguntas(preguntas)\n @lista_preguntas = preguntas\n end\n \n def obtenerSoluciones\n return @lista_soluciones\n end\n \n def establecerSoluciones(soluciones)\n @lista_soluciones = soluciones\n end\n \n def obtenerPregunta(numero)\n return @lista_preguntas.obtenerValor(numero).mostrar\n end\n \n end\nend","undoManager":{"mark":96,"position":100,"stack":[[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":18},"end":{"row":2,"column":19}},"text":"v"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":19},"end":{"row":2,"column":20}},"text":"e"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":20},"end":{"row":2,"column":21}},"text":"r"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":21},"end":{"row":2,"column":22}},"text":"d"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":22},"end":{"row":2,"column":23}},"text":"a"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":23},"end":{"row":2,"column":24}},"text":"d"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":24},"end":{"row":2,"column":25}},"text":"e"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":25},"end":{"row":2,"column":26}},"text":"r"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":2,"column":25},"end":{"row":2,"column":26}},"text":"r"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":25},"end":{"row":2,"column":26}},"text":"r"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":26},"end":{"row":2,"column":27}},"text":"p"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":2,"column":26},"end":{"row":2,"column":27}},"text":"p"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":2,"column":25},"end":{"row":2,"column":26}},"text":"r"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":2,"column":24},"end":{"row":2,"column":25}},"text":"e"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":2,"column":23},"end":{"row":2,"column":24}},"text":"d"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":2,"column":22},"end":{"row":2,"column":23}},"text":"a"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":2,"column":21},"end":{"row":2,"column":22}},"text":"d"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":2,"column":20},"end":{"row":2,"column":21}},"text":"r"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":20},"end":{"row":2,"column":21}},"text":"r"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":21},"end":{"row":2,"column":22}},"text":"d"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":22},"end":{"row":2,"column":23}},"text":"a"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":23},"end":{"row":2,"column":24}},"text":"d"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":24},"end":{"row":2,"column":25}},"text":"e"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":25},"end":{"row":2,"column":26}},"text":"r"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":26},"end":{"row":2,"column":27}},"text":"o"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":27},"end":{"row":2,"column":28}},"text":"f"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":28},"end":{"row":2,"column":29}},"text":"a"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":29},"end":{"row":2,"column":30}},"text":"l"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":30},"end":{"row":2,"column":31}},"text":"s"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":31},"end":{"row":2,"column":32}},"text":"o"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":3,"column":0},"end":{"row":4,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":4,"column":0},"end":{"row":5,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"removeLines","range":{"start":{"row":4,"column":0},"end":{"row":5,"column":0}},"nl":"\n","lines":[""]}]}],[{"group":"doc","deltas":[{"action":"removeLines","range":{"start":{"row":3,"column":0},"end":{"row":4,"column":0}},"nl":"\n","lines":[""]}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":3,"column":0},"end":{"row":4,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":4,"column":0},"end":{"row":5,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"removeLines","range":{"start":{"row":4,"column":0},"end":{"row":5,"column":0}},"nl":"\n","lines":[""]}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":5,"column":0},"end":{"row":5,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":6,"column":0},"end":{"row":7,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":7,"column":0},"end":{"row":7,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":8,"column":0},"end":{"row":8,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":8,"column":4},"end":{"row":8,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":9,"column":0},"end":{"row":9,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":9,"column":4},"end":{"row":9,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":10,"column":0},"end":{"row":10,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":10,"column":4},"end":{"row":10,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":11,"column":0},"end":{"row":11,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":12,"column":0},"end":{"row":13,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":13,"column":0},"end":{"row":13,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":14,"column":0},"end":{"row":14,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":14,"column":0},"end":{"row":14,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":15,"column":0},"end":{"row":15,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":16,"column":0},"end":{"row":16,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":16,"column":0},"end":{"row":17,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":18,"column":0},"end":{"row":18,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":18,"column":4},"end":{"row":18,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":19,"column":0},"end":{"row":19,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":20,"column":0},"end":{"row":21,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":21,"column":0},"end":{"row":21,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":22,"column":0},"end":{"row":22,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":22,"column":4},"end":{"row":22,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":23,"column":0},"end":{"row":23,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeLines","range":{"start":{"row":0,"column":0},"end":{"row":25,"column":0}},"nl":"\n","lines":["require_relative 'preguntasimple'","require_relative 'Listas'","require_relative 'verdaderofalso'","","class Examen"," attr_reader :examAnswers",""," def initialize(questions,answers)"," @myExam = List.new(\"\\n\\tLenguajes y Paradigmas de la programacion.\\n\\t\\tExamen practico.\\n\\n\")"," @myExam.add_many(questions)"," @examAnswers = answers"," end",""," def to_s"," @myExam.to_s"," end",""," def printQuestion"," @myExam.pop()"," end",""," def numQuestion"," @examAnswers.length"," end","end"]},{"action":"insertText","range":{"start":{"row":0,"column":0},"end":{"row":0,"column":12}},"text":"class Examen"},{"action":"insertText","range":{"start":{"row":0,"column":12},"end":{"row":1,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":1,"column":0},"end":{"row":12,"column":0}},"lines":[""," attr_accessor :exam, :npreguntas"," def initialize(n)"," @exam= List.new"," @npreguntas=n"," end"," "," def add_pregunta(pre)"," @exam.push(pre)"," end"," "]},{"action":"insertText","range":{"start":{"row":12,"column":0},"end":{"row":12,"column":5}},"text":"end "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":11,"column":3},"end":{"row":12,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":11,"column":3},"end":{"row":12,"column":0}},"text":"\n"},{"action":"insertText","range":{"start":{"row":12,"column":0},"end":{"row":12,"column":3}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":12,"column":2},"end":{"row":12,"column":3}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":12,"column":1},"end":{"row":12,"column":2}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":12,"column":0},"end":{"row":12,"column":1}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":11,"column":3},"end":{"row":12,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":11,"column":2},"end":{"row":11,"column":3}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":11,"column":1},"end":{"row":11,"column":2}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":11,"column":0},"end":{"row":11,"column":1}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":10,"column":7},"end":{"row":11,"column":0}},"text":"\n"},{"action":"insertText","range":{"start":{"row":11,"column":0},"end":{"row":11,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":11,"column":4},"end":{"row":12,"column":0}},"text":"\n"},{"action":"insertText","range":{"start":{"row":12,"column":0},"end":{"row":12,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":12,"column":4},"end":{"row":13,"column":0}},"text":"\n"},{"action":"insertText","range":{"start":{"row":13,"column":0},"end":{"row":13,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":12,"column":4},"end":{"row":12,"column":29}},"text":"\tdef @exam.resolver(resp)"},{"action":"insertText","range":{"start":{"row":12,"column":29},"end":{"row":13,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":13,"column":0},"end":{"row":32,"column":0}},"lines":["\t\t\t\tpreg_actual=0","\t\t\t\tpreg_correctas=0","\t\t\t\t\twhile preg_actual<@npreguntas","\t\t\t\t\t\tpreg_actual=preg_actual+1","\t\t\t\t\t\tputs @exam.get_ini().pregunta","\t\t\t\t\t\tputs @exam.get_ini().respuesta","\t\t\t\t\t\tputs \"\"","\t\t\t\t\t\t","\t\t\t\t\t\tif @exam.get_ini().resp_correcta(resp[preg_actual-1])","\t\t\t\t\t\t\tpreg_correctas=preg_correctas+1","\t\t\t\t\t\tend","\t\t\t\t\t\t@exam.pop()","\t\t\t\t\t\tputs\"\"","\t\t\t\t\tend","\t\t\t\t\tprint \"Ha respondido bien \"","\t\t\t\t\t\tprint preg_correctas","\t\t\t\t\t\tprint \" preguntas de \"","\t\t\t\t\t\tprint @npreguntas","\t\t\t\t\t\treturn preg_correctas"]},{"action":"insertText","range":{"start":{"row":32,"column":0},"end":{"row":32,"column":4}},"text":"\tend"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":12,"column":4},"end":{"row":12,"column":5}},"text":"\t"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":12,"column":0},"end":{"row":12,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":12,"column":0},"end":{"row":12,"column":1}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":12,"column":1},"end":{"row":12,"column":2}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":12,"column":2},"end":{"row":12,"column":3}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":12,"column":3},"end":{"row":12,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":12,"column":13},"end":{"row":12,"column":14}},"text":"."}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":12,"column":12},"end":{"row":12,"column":13}},"text":"m"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":12,"column":11},"end":{"row":12,"column":12}},"text":"a"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":12,"column":10},"end":{"row":12,"column":11}},"text":"x"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":12,"column":9},"end":{"row":12,"column":10}},"text":"e"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":12,"column":8},"end":{"row":12,"column":9}},"text":"@"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":28,"column":5},"end":{"row":28,"column":6}},"text":"\t"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":29,"column":5},"end":{"row":29,"column":6}},"text":"\t"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":30,"column":5},"end":{"row":30,"column":6}},"text":"\t"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":31,"column":5},"end":{"row":31,"column":6}},"text":"\t"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":32,"column":0},"end":{"row":32,"column":1}},"text":"\t"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":32,"column":0},"end":{"row":32,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":32,"column":0},"end":{"row":32,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":32,"column":0},"end":{"row":32,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"start":{"row":0,"column":0},"end":{"row":34,"column":5},"action":"remove","lines":["class Examen",""," attr_accessor :exam, :npreguntas"," def initialize(n)"," @exam= List.new"," @npreguntas=n"," end"," "," def add_pregunta(pre)"," @exam.push(pre)"," end"," "," def resolver(resp)","\t\t\t\tpreg_actual=0","\t\t\t\tpreg_correctas=0","\t\t\t\t\twhile preg_actual<@npreguntas","\t\t\t\t\t\tpreg_actual=preg_actual+1","\t\t\t\t\t\tputs @exam.get_ini().pregunta","\t\t\t\t\t\tputs @exam.get_ini().respuesta","\t\t\t\t\t\tputs \"\"","\t\t\t\t\t\t","\t\t\t\t\t\tif @exam.get_ini().resp_correcta(resp[preg_actual-1])","\t\t\t\t\t\t\tpreg_correctas=preg_correctas+1","\t\t\t\t\t\tend","\t\t\t\t\t\t@exam.pop()","\t\t\t\t\t\tputs\"\"","\t\t\t\t\tend","\t\t\t\t\tprint \"Ha respondido bien \"","\t\t\t\t\tprint preg_correctas","\t\t\t\t\tprint \" preguntas de \"","\t\t\t\t\tprint @npreguntas","\t\t\t\t\treturn preg_correctas"," end"," ","end "]},{"start":{"row":0,"column":0},"end":{"row":35,"column":3},"action":"insert","lines":["# -*- coding: utf-8 -*-","require 'rubygems'","require 'bundler/setup'","require 'rspec'","","module Exam"," class ExamenCompleto"," attr_reader :lista_preguntas, :lista_soluciones"," "," def initialize (preguntas, soluciones)"," @lista_preguntas = preguntas"," @lista_soluciones = soluciones"," end",""," def obtenerPreguntas"," return @lista_preguntas"," end"," "," def establecerPreguntas(preguntas)"," @lista_preguntas = preguntas"," end"," "," def obtenerSoluciones"," return @lista_soluciones"," end"," "," def establecerSoluciones(soluciones)"," @lista_soluciones = soluciones"," end"," "," def obtenerPregunta(numero)"," return @lista_preguntas.obtenerValor(numero).mostrar"," end"," "," end","end"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":11},"end":{"row":5,"column":12},"action":"insert","lines":["e"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":12},"end":{"row":5,"column":13},"action":"insert","lines":["n"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":13},"end":{"row":5,"column":14},"action":"insert","lines":["e"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":14},"end":{"row":5,"column":15},"action":"insert","lines":["s"]}]}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":5,"column":11},"end":{"row":5,"column":15},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1416914684715} \ No newline at end of file diff --git a/.c9/metadata/workspace/lib/Examenes/interfaz.rb b/.c9/metadata/workspace/lib/Examenes/interfaz.rb new file mode 100644 index 0000000..36f6f8e --- /dev/null +++ b/.c9/metadata/workspace/lib/Examenes/interfaz.rb @@ -0,0 +1 @@ +{"filter":false,"title":"interfaz.rb","tooltip":"/lib/Examenes/interfaz.rb","undoManager":{"mark":100,"position":100,"stack":[[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":13,"column":8},"end":{"row":13,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":14,"column":0},"end":{"row":14,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":14,"column":4},"end":{"row":14,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":14,"column":8},"end":{"row":14,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":15,"column":0},"end":{"row":15,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":15,"column":4},"end":{"row":15,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":15,"column":8},"end":{"row":15,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":16,"column":0},"end":{"row":16,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":16,"column":4},"end":{"row":16,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":16,"column":8},"end":{"row":16,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":17,"column":0},"end":{"row":17,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":17,"column":4},"end":{"row":17,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":17,"column":8},"end":{"row":17,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":18,"column":0},"end":{"row":18,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":18,"column":4},"end":{"row":18,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":18,"column":8},"end":{"row":18,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":19,"column":0},"end":{"row":19,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":19,"column":4},"end":{"row":19,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":19,"column":8},"end":{"row":19,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":17,"column":12},"end":{"row":17,"column":16}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":18,"column":12},"end":{"row":18,"column":16}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":19,"column":8},"end":{"row":19,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":20,"column":0},"end":{"row":20,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":20,"column":4},"end":{"row":20,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":20,"column":8},"end":{"row":20,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":20,"column":12},"end":{"row":20,"column":16}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":21,"column":0},"end":{"row":21,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":21,"column":4},"end":{"row":21,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":21,"column":8},"end":{"row":21,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":22,"column":0},"end":{"row":22,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":22,"column":4},"end":{"row":22,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":23,"column":0},"end":{"row":23,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":23,"column":4},"end":{"row":23,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":24,"column":0},"end":{"row":24,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":24,"column":4},"end":{"row":24,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":23,"column":8},"end":{"row":23,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":24,"column":8},"end":{"row":24,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":25,"column":0},"end":{"row":25,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":25,"column":4},"end":{"row":25,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":25,"column":8},"end":{"row":25,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":26,"column":0},"end":{"row":26,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":26,"column":4},"end":{"row":26,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":17,"column":12},"end":{"row":17,"column":16}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":18,"column":12},"end":{"row":18,"column":16}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":19,"column":12},"end":{"row":19,"column":16}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":20,"column":12},"end":{"row":20,"column":16}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":26,"column":8},"end":{"row":26,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":27,"column":0},"end":{"row":27,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":27,"column":4},"end":{"row":27,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":27,"column":8},"end":{"row":27,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":28,"column":0},"end":{"row":28,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":28,"column":7},"end":{"row":29,"column":0}},"text":"\n"},{"action":"insertText","range":{"start":{"row":29,"column":0},"end":{"row":29,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":31,"column":0},"end":{"row":31,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":32,"column":0},"end":{"row":32,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":33,"column":0},"end":{"row":33,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":33,"column":4},"end":{"row":33,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":33,"column":4},"end":{"row":33,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":30,"column":0},"end":{"row":30,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":13,"column":8},"end":{"row":13,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":14,"column":8},"end":{"row":14,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":15,"column":8},"end":{"row":15,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":16,"column":8},"end":{"row":16,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":17,"column":8},"end":{"row":17,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":18,"column":8},"end":{"row":18,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":19,"column":10},"end":{"row":19,"column":11}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":19,"column":10},"end":{"row":19,"column":11}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":19,"column":9},"end":{"row":19,"column":10}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":19,"column":8},"end":{"row":19,"column":9}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":20,"column":8},"end":{"row":20,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":21,"column":8},"end":{"row":21,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":23,"column":8},"end":{"row":23,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":24,"column":8},"end":{"row":24,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":25,"column":8},"end":{"row":25,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":26,"column":8},"end":{"row":26,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":27,"column":8},"end":{"row":27,"column":12}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":32,"column":4},"end":{"row":32,"column":8}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":34,"column":0},"end":{"row":34,"column":3}},"text":"end"},{"action":"removeLines","range":{"start":{"row":0,"column":0},"end":{"row":34,"column":0}},"nl":"\n","lines":["require_relative 'examen'","","class Interface",""," def initialize(exam)"," @theExam = exam"," @userAnswers = Array.new(@theExam.numQuestion)"," @numRight = 0"," end",""," def make_exam"," i = 0"," puts @theExam.printQuestion"," while @userAnswers.size() > i"," puts @theExam.printQuestion"," print \"--> Respuesta = \""," @userAnswers[i] = gets.chomp"," if @userAnswers[i] == @theExam.examAnswers[i]"," @numRight += 1"," end"," i += 1"," end"," puts \" \\n---- Resultado del examen ------ \""," if pass"," puts \" ## --> Aprobado.\""," else"," puts \" ## --> Suspendido.\""," end"," end"," "," private"," def pass"," @userAnswers.size()/2 < @numRight"," end"]},{"action":"insertText","range":{"start":{"row":0,"column":0},"end":{"row":0,"column":14}},"text":"class Interfaz"},{"action":"insertText","range":{"start":{"row":0,"column":14},"end":{"row":1,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":1,"column":0},"end":{"row":10,"column":0}},"lines":[" attr_accessor :examen "," "," def initialize(ex)"," @examen = ex"," end"," "," def mostrar_pregunta"," puts @examen.exam.get_ini().pregunta"," end"]},{"action":"insertText","range":{"start":{"row":10,"column":0},"end":{"row":10,"column":3}},"text":"end"}]}],[{"group":"doc","deltas":[{"start":{"row":0,"column":0},"end":{"row":10,"column":3},"action":"remove","lines":["class Interfaz"," attr_accessor :examen "," "," def initialize(ex)"," @examen = ex"," end"," "," def mostrar_pregunta"," puts @examen.exam.get_ini().pregunta"," end","end"]},{"start":{"row":0,"column":0},"end":{"row":90,"column":3},"action":"insert","lines":["# -*- coding: utf-8 -*-","require 'rubygems'","require 'bundler/setup'","require 'rspec'","","module Exam"," class UI"," attr_reader :contenido, :aciertos, :nota"," "," "," def initialize (examen)"," @contenido = examen"," @aciertos = 0"," @nota = -1"," @numeroPreguntas = examen.lista_preguntas.count"," end"," "," "," def mostrarPregunta(numero)"," print \"Pregunta\""," puts numero"," return @contenido.obtenerPregunta(numero)"," end"," "," "," def input(numeroPregunta, resp=0)"," puts \"\""," print \"Respuesta: \""," STDOUT.flush"," if resp == 0 then"," respuesta = gets.chomp"," else"," respuesta = resp"," puts respuesta"," end"," puts \"\""," puts \"\""," puts \"\""," puts \"\""," comparar(numeroPregunta, respuesta)"," return true"," end"," "," "," def comparar(numeroPregunta, respuesta)"," if respuesta == @contenido.lista_soluciones.obtenerValor(numeroPregunta) then"," @aciertos = @aciertos + 1"," return true"," end"," end","",""," def notaFinal"," print \"Aciertos: \""," print @aciertos"," print \" / \""," puts @numeroPreguntas"," print \"Su nota ha sido: \""," @nota = ((@aciertos * 10) / @numeroPreguntas)"," print @nota"," return @nota"," end"," "," "," def cabecera"," puts \"\""," puts \"\""," puts \"El examen va a comenzar.\""," puts \" Debe responder poniendo solo el caracter de la respuesta elegida.\""," print \" El examen consta de \""," print @numeroPreguntas"," puts \" preguntas.\""," end"," ",""," def examinar(*resp)"," cabecera"," for i in 1..@numeroPreguntas"," puts mostrarPregunta(i)"," input(i,resp[i-1])"," end"," return notaFinal"," end"," "," def invertir"," @contenido = invertirExamen(@contenido)"," end "," "," "," end","end"]}]}],[{"group":"doc","deltas":[{"start":{"row":5,"column":11},"end":{"row":5,"column":15},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":15,"column":7},"end":{"row":16,"column":0},"action":"insert","lines":["",""]},{"start":{"row":16,"column":0},"end":{"row":16,"column":4},"action":"insert","lines":[" "]}]}],[{"group":"doc","deltas":[{"start":{"row":16,"column":0},"end":{"row":16,"column":4},"action":"remove","lines":[" "]}]}],[{"group":"doc","deltas":[{"start":{"row":15,"column":7},"end":{"row":16,"column":0},"action":"remove","lines":["",""]}]}],[{"group":"doc","deltas":[{"start":{"row":89,"column":5},"end":{"row":90,"column":0},"action":"insert","lines":["",""]},{"start":{"row":90,"column":0},"end":{"row":90,"column":2},"action":"insert","lines":[" "]}]}],[{"group":"doc","deltas":[{"start":{"row":90,"column":2},"end":{"row":91,"column":0},"action":"insert","lines":["",""]},{"start":{"row":91,"column":0},"end":{"row":91,"column":2},"action":"insert","lines":[" "]}]}],[{"group":"doc","deltas":[{"start":{"row":91,"column":2},"end":{"row":92,"column":0},"action":"insert","lines":["",""]},{"start":{"row":92,"column":0},"end":{"row":92,"column":2},"action":"insert","lines":[" "]}]}],[{"group":"doc","deltas":[{"start":{"row":92,"column":2},"end":{"row":93,"column":0},"action":"insert","lines":["",""]},{"start":{"row":93,"column":0},"end":{"row":93,"column":2},"action":"insert","lines":[" "]}]}],[{"group":"doc","deltas":[{"start":{"row":91,"column":2},"end":{"row":111,"column":3},"action":"insert","lines":["class Inversor"," "," def invertirLista(lista)"," listaTemp = Examenes::List.new"," lista.map { |elemento| listaTemp.push(elemento) }"," return listaTemp"," end",""," def invertirExamen(examen)"," preguntas = examen.obtenerPreguntas"," soluciones = examen.obtenerSoluciones"," "," preguntas = invertirLista(preguntas)"," soluciones = invertirLista(soluciones)"," "," examen.establecerPreguntas(preguntas)"," examen.establecerSoluciones(soluciones)"," return examen"," end ","","end"]}]}],[{"group":"doc","deltas":[{"start":{"row":111,"column":0},"end":{"row":111,"column":1},"action":"insert","lines":[" "]}]}],[{"group":"doc","deltas":[{"start":{"row":111,"column":1},"end":{"row":111,"column":2},"action":"insert","lines":[" "]}]}],[{"group":"doc","deltas":[{"start":{"row":111,"column":2},"end":{"row":111,"column":3},"action":"insert","lines":[" "]}]}],[{"group":"doc","deltas":[{"start":{"row":111,"column":2},"end":{"row":111,"column":3},"action":"remove","lines":[" "]}]}],[{"group":"doc","deltas":[{"start":{"row":112,"column":2},"end":{"row":113,"column":2},"action":"remove","lines":[""," "]}]}],[{"group":"doc","deltas":[{"start":{"row":91,"column":0},"end":{"row":91,"column":16},"action":"remove","lines":[" class Inversor"]}]}],[{"group":"doc","deltas":[{"start":{"row":90,"column":2},"end":{"row":91,"column":0},"action":"remove","lines":["",""]}]}],[{"group":"doc","deltas":[{"start":{"row":110,"column":0},"end":{"row":110,"column":5},"action":"remove","lines":[" end"]}]}],[{"group":"doc","deltas":[{"start":{"row":109,"column":0},"end":{"row":110,"column":0},"action":"remove","lines":["",""]}]}],[{"group":"doc","deltas":[{"start":{"row":90,"column":2},"end":{"row":91,"column":4},"action":"remove","lines":[""," "]}]}],[{"group":"doc","deltas":[{"start":{"row":90,"column":2},"end":{"row":90,"column":3},"action":"insert","lines":["c"]}]}],[{"group":"doc","deltas":[{"start":{"row":90,"column":3},"end":{"row":90,"column":4},"action":"insert","lines":["l"]}]}],[{"group":"doc","deltas":[{"start":{"row":90,"column":3},"end":{"row":90,"column":4},"action":"remove","lines":["l"]}]}],[{"group":"doc","deltas":[{"start":{"row":90,"column":2},"end":{"row":90,"column":3},"action":"remove","lines":["c"]}]}]]},"ace":{"folds":[],"scrolltop":1500,"scrollleft":0,"selection":{"start":{"row":90,"column":2},"end":{"row":90,"column":2},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":82,"state":"start","mode":"ace/mode/ruby"}},"timestamp":1416916893072,"hash":"1db689d4a6c070a8db978772ee8db8b2075464d1"} \ No newline at end of file diff --git a/.c9/metadata/workspace/lib/Examenes/pregunta.rb b/.c9/metadata/workspace/lib/Examenes/pregunta.rb new file mode 100644 index 0000000..5fbca36 --- /dev/null +++ b/.c9/metadata/workspace/lib/Examenes/pregunta.rb @@ -0,0 +1 @@ +{"changed":true,"filter":false,"title":"pregunta.rb","tooltip":"/lib/Examenes/pregunta.rb","value":"# -*- coding: utf-8 -*-\nrequire 'rubygems'\nrequire 'bundler/setup'\nrequire 'rspec'\nrequire 'Examenes/version'\n\nmodule Examenes\n class Examen\n include Comparable\n attr_reader :pregunta, :respuestas\n \n def initialize (pregunta, respuestas)\n @pregunta = pregunta\n @respuestas = respuestas\n end\n\n def numero\n return @respuestas.count\n end\n\n def obtenerRespuestas(i)\n @respuesta = @respuestas[i]\n end\n\n def mostrar\n @salida = @pregunta + \"\\n\"\n @respuestas.each do |resp|\n @salida = @salida + resp + \"\\n\"\n end\n return @salida\n end\n \n def <=>(objetoExamen)\n pregunta.size <=> objetoExamen.pregunta.size\n end\n \n def == (objetoExamen)\n if @pregunta == objetoExamen.pregunta && @respuestas == objetoExamen.respuestas then\n return true\n else\n return false\n end\n end\n \n\n end\n \n \n \n class Preguntas < Examen\n \n def initialize (pregunta)\n @pregunta = pregunta\n @respuestas = [\"a) Cierto\", \"b) Falso\"]\n end\n \n end\n \nend","undoManager":{"mark":40,"position":41,"stack":[[{"group":"doc","deltas":[{"action":"removeLines","range":{"start":{"row":0,"column":0},"end":{"row":23,"column":0}},"nl":"\n","lines":["class Pregunta"," attr_reader :preg, :correcta, :dif"," include Comparable"," "," def initialize (preg, correcta, dif)"," @preg = preg","\t@correcta = correcta"," @dif = dif"," end"," def to_s"," aux = @preg + \"\\n\""," aux"," end"," def <=> (other)"," @dif <=> other.dif"," end"," "," def == (other)"," @preg == other.preg"," end"," "," ","end"]},{"action":"insertText","range":{"start":{"row":0,"column":0},"end":{"row":0,"column":12}},"text":"#module Exam"},{"action":"insertText","range":{"start":{"row":0,"column":12},"end":{"row":1,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":1,"column":0},"end":{"row":20,"column":0}},"lines":["class Question","include Comparable","attr_reader :ask, :difficulty","def initialize(ask, difficulty = 0)","@ask = ask","@difficulty = difficulty","end","def to_s","cadena = \"#{@ask}\\n\"","cadena","end","def <=>(other)","return nil unless other.is_a? Question","@difficulty <=> other.difficulty","end","def ==(other)","@difficulty == other.difficulty# && @ask == other.ask","end","end"]},{"action":"insertText","range":{"start":{"row":20,"column":0},"end":{"row":20,"column":4}},"text":"#end"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":0,"column":0},"end":{"row":0,"column":12}},"text":"#module Exam"}]}],[{"group":"doc","deltas":[{"action":"removeLines","range":{"start":{"row":0,"column":0},"end":{"row":1,"column":0}},"nl":"\n","lines":[""]}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":0,"column":6},"end":{"row":0,"column":14}},"text":"Pregunta"},{"action":"insertText","range":{"start":{"row":0,"column":14},"end":{"row":1,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":1,"column":0},"end":{"row":13,"column":0}},"lines":[" attr_reader :preg, :correcta, :dif"," include Comparable"," "," def initialize (preg, correcta, dif)"," @preg = preg","\t@correcta = correcta"," @dif = dif"," end"," def to_s"," aux = @preg + \"\\n\""," aux"," end"]},{"action":"insertText","range":{"start":{"row":13,"column":0},"end":{"row":13,"column":4}},"text":" "},{"action":"removeLines","range":{"start":{"row":14,"column":0},"end":{"row":24,"column":0}},"nl":"\n","lines":["include Comparable","attr_reader :ask, :difficulty","def initialize(ask, difficulty = 0)","@ask = ask","@difficulty = difficulty","end","def to_s","cadena = \"#{@ask}\\n\"","cadena","end"]},{"action":"removeText","range":{"start":{"row":13,"column":4},"end":{"row":13,"column":12}},"text":"Question"},{"action":"removeText","range":{"start":{"row":13,"column":4},"end":{"row":14,"column":0}},"text":"\n"},{"action":"insertText","range":{"start":{"row":13,"column":11},"end":{"row":13,"column":12}},"text":" "},{"action":"insertText","range":{"start":{"row":14,"column":0},"end":{"row":14,"column":26}},"text":" @dif <=> other.dif"},{"action":"insertText","range":{"start":{"row":14,"column":26},"end":{"row":15,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":15,"column":0},"end":{"row":17,"column":0}},"lines":[" end"," "]},{"action":"insertText","range":{"start":{"row":17,"column":0},"end":{"row":17,"column":4}},"text":" "},{"action":"removeLines","range":{"start":{"row":18,"column":0},"end":{"row":20,"column":0}},"nl":"\n","lines":["@difficulty <=> other.difficulty","end"]},{"action":"removeText","range":{"start":{"row":17,"column":4},"end":{"row":17,"column":42}},"text":"return nil unless other.is_a? Question"},{"action":"removeText","range":{"start":{"row":17,"column":4},"end":{"row":18,"column":0}},"text":"\n"},{"action":"insertText","range":{"start":{"row":17,"column":10},"end":{"row":17,"column":11}},"text":" "},{"action":"insertText","range":{"start":{"row":18,"column":0},"end":{"row":18,"column":27}},"text":" @preg == other.preg"},{"action":"insertText","range":{"start":{"row":18,"column":27},"end":{"row":19,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":19,"column":0},"end":{"row":22,"column":0}},"lines":[" end"," "," "]},{"action":"removeText","range":{"start":{"row":25,"column":0},"end":{"row":25,"column":1}},"text":"#"},{"action":"removeLines","range":{"start":{"row":22,"column":0},"end":{"row":25,"column":0}},"nl":"\n","lines":["@difficulty == other.difficulty# && @ask == other.ask","end","end"]},{"action":"insertText","range":{"start":{"row":22,"column":3},"end":{"row":23,"column":0}},"text":"\n"},{"action":"removeText","range":{"start":{"row":13,"column":0},"end":{"row":13,"column":4}},"text":" "},{"action":"removeLines","range":{"start":{"row":1,"column":0},"end":{"row":13,"column":0}},"nl":"\n","lines":[" attr_reader :preg, :correcta, :dif"," include Comparable"," "," def initialize (preg, correcta, dif)"," @preg = preg","\t@correcta = correcta"," @dif = dif"," end"," def to_s"," aux = @preg + \"\\n\""," aux"," end"]},{"action":"removeText","range":{"start":{"row":0,"column":6},"end":{"row":0,"column":14}},"text":"Pregunta"},{"action":"removeText","range":{"start":{"row":0,"column":6},"end":{"row":1,"column":0}},"text":"\n"},{"action":"insertText","range":{"start":{"row":0,"column":6},"end":{"row":0,"column":14}},"text":"Question"},{"action":"insertText","range":{"start":{"row":0,"column":14},"end":{"row":1,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":1,"column":0},"end":{"row":11,"column":0}},"lines":["include Comparable","attr_reader :ask, :difficulty","def initialize(ask, difficulty = 0)","@ask = ask","@difficulty = difficulty","end","def to_s","cadena = \"#{@ask}\\n\"","cadena","end"]},{"action":"removeText","range":{"start":{"row":11,"column":7},"end":{"row":11,"column":8}},"text":" "},{"action":"removeText","range":{"start":{"row":15,"column":0},"end":{"row":15,"column":4}},"text":" "},{"action":"removeLines","range":{"start":{"row":12,"column":0},"end":{"row":15,"column":0}},"nl":"\n","lines":[" @dif <=> other.dif"," end"," "]},{"action":"insertText","range":{"start":{"row":12,"column":0},"end":{"row":12,"column":38}},"text":"return nil unless other.is_a? Question"},{"action":"insertText","range":{"start":{"row":12,"column":38},"end":{"row":13,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":13,"column":0},"end":{"row":15,"column":0}},"lines":["@difficulty <=> other.difficulty","end"]},{"action":"removeText","range":{"start":{"row":15,"column":6},"end":{"row":15,"column":7}},"text":" "},{"action":"removeLines","range":{"start":{"row":16,"column":0},"end":{"row":20,"column":0}},"nl":"\n","lines":[" @preg == other.preg"," end"," "," "]},{"action":"insertText","range":{"start":{"row":16,"column":0},"end":{"row":16,"column":53}},"text":"@difficulty == other.difficulty# && @ask == other.ask"},{"action":"insertText","range":{"start":{"row":16,"column":53},"end":{"row":17,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":17,"column":0},"end":{"row":19,"column":0}},"lines":["end","end"]},{"action":"insertText","range":{"start":{"row":19,"column":0},"end":{"row":19,"column":1}},"text":"#"},{"action":"removeText","range":{"start":{"row":19,"column":4},"end":{"row":20,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":1,"column":0},"end":{"row":1,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":2,"column":0},"end":{"row":2,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":3,"column":0},"end":{"row":4,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":4,"column":0},"end":{"row":4,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":5,"column":0},"end":{"row":5,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":6,"column":0},"end":{"row":6,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":7,"column":0},"end":{"row":7,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":8,"column":0},"end":{"row":9,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":9,"column":0},"end":{"row":9,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":10,"column":0},"end":{"row":10,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":11,"column":0},"end":{"row":11,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":12,"column":0},"end":{"row":12,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":13,"column":0},"end":{"row":14,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":14,"column":0},"end":{"row":14,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":15,"column":0},"end":{"row":15,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":16,"column":0},"end":{"row":16,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":17,"column":0},"end":{"row":17,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":18,"column":0},"end":{"row":19,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":19,"column":0},"end":{"row":19,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":20,"column":0},"end":{"row":20,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":21,"column":0},"end":{"row":21,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"insertText","range":{"start":{"row":22,"column":0},"end":{"row":22,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":23,"column":3},"end":{"row":23,"column":4}},"text":"d"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":23,"column":2},"end":{"row":23,"column":3}},"text":"n"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":23,"column":1},"end":{"row":23,"column":2}},"text":"e"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":23,"column":0},"end":{"row":23,"column":1}},"text":"#"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":22,"column":7},"end":{"row":23,"column":0}},"text":"\n"}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":22,"column":0},"end":{"row":22,"column":4}},"text":" "}]}],[{"group":"doc","deltas":[{"action":"removeText","range":{"start":{"row":22,"column":0},"end":{"row":22,"column":3}},"text":"end"},{"action":"removeLines","range":{"start":{"row":0,"column":0},"end":{"row":22,"column":0}},"nl":"\n","lines":["class Question"," include Comparable"," attr_reader :ask, :difficulty",""," def initialize(ask, difficulty = 0)"," @ask = ask"," @difficulty = difficulty"," end",""," def to_s"," cadena = \"#{@ask}\\n\""," cadena"," end",""," def <=>(other)"," return nil unless other.is_a? Question"," @difficulty <=> other.difficulty"," end",""," def ==(other)"," @difficulty == other.difficulty# && @ask == other.ask"," end"]},{"action":"insertText","range":{"start":{"row":0,"column":0},"end":{"row":0,"column":14}},"text":"class Pregunta"},{"action":"insertText","range":{"start":{"row":0,"column":14},"end":{"row":1,"column":0}},"text":"\n"},{"action":"insertLines","range":{"start":{"row":1,"column":0},"end":{"row":23,"column":0}},"lines":[" attr_reader :preg, :correcta, :dif"," include Comparable"," "," def initialize (preg, correcta, dif)"," @preg = preg","\t@correcta = correcta"," @dif = dif"," end"," def to_s"," aux = @preg + \"\\n\""," aux"," end"," def <=> (other)"," @dif <=> other.dif"," end"," "," def == (other)"," @preg == other.preg"," end"," "," ","end"]}]}],[{"group":"doc","deltas":[{"start":{"row":0,"column":0},"end":{"row":23,"column":0},"action":"remove","lines":["class Pregunta"," attr_reader :preg, :correcta, :dif"," include Comparable"," "," def initialize (preg, correcta, dif)"," @preg = preg","\t@correcta = correcta"," @dif = dif"," end"," def to_s"," aux = @preg + \"\\n\""," aux"," end"," def <=> (other)"," @dif <=> other.dif"," end"," "," def == (other)"," @preg == other.preg"," end"," "," ","end",""]},{"start":{"row":0,"column":0},"end":{"row":58,"column":3},"action":"insert","lines":["# -*- coding: utf-8 -*-","require 'rubygems'","require 'bundler/setup'","require 'rspec'","require 'exam/version'","","module Exam"," class Examen"," include Comparable"," attr_reader :pregunta, :respuestas"," "," def initialize (pregunta, respuestas)"," @pregunta = pregunta"," @respuestas = respuestas"," end",""," def numero"," return @respuestas.count"," end",""," def obtenerRespuestas(i)"," @respuesta = @respuestas[i]"," end",""," def mostrar"," @salida = @pregunta + \"\\n\""," @respuestas.each do |resp|"," @salida = @salida + resp + \"\\n\""," end"," return @salida"," end"," "," def <=>(objetoExamen)"," pregunta.size <=> objetoExamen.pregunta.size"," end"," "," def == (objetoExamen)"," if @pregunta == objetoExamen.pregunta && @respuestas == objetoExamen.respuestas then"," return true"," else"," return false"," end"," end"," ",""," end"," "," "," "," class Preguntas < Examen"," "," def initialize (pregunta)"," @pregunta = pregunta"," @respuestas = [\"a) Cierto\", \"b) Falso\"]"," end"," "," end"," ","end"]}]}],[{"group":"doc","deltas":[{"start":{"row":4,"column":9},"end":{"row":4,"column":10},"action":"remove","lines":["e"]}]}],[{"group":"doc","deltas":[{"start":{"row":4,"column":9},"end":{"row":4,"column":10},"action":"insert","lines":["E"]}]}],[{"group":"doc","deltas":[{"start":{"row":4,"column":9},"end":{"row":4,"column":10},"action":"remove","lines":["E"]},{"start":{"row":4,"column":9},"end":{"row":5,"column":0},"action":"insert","lines":["Examenes",""]}]}],[{"group":"doc","deltas":[{"start":{"row":4,"column":17},"end":{"row":5,"column":0},"action":"remove","lines":["",""]}]}],[{"group":"doc","deltas":[{"start":{"row":4,"column":17},"end":{"row":4,"column":18},"action":"remove","lines":["x"]}]}],[{"group":"doc","deltas":[{"start":{"row":4,"column":17},"end":{"row":4,"column":18},"action":"remove","lines":["a"]}]}],[{"group":"doc","deltas":[{"start":{"row":4,"column":17},"end":{"row":4,"column":18},"action":"remove","lines":["m"]}]}],[{"group":"doc","deltas":[{"start":{"row":6,"column":11},"end":{"row":6,"column":15},"action":"insert","lines":["enes"]}]}]]},"ace":{"folds":[],"scrolltop":0,"scrollleft":0,"selection":{"start":{"row":6,"column":15},"end":{"row":6,"column":15},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":0},"timestamp":1416915799409} \ No newline at end of file diff --git a/.c9/metadata/workspace/spec/spec_examen.rb b/.c9/metadata/workspace/spec/spec_examen.rb index 887e6ca..4c0d00a 100644 --- a/.c9/metadata/workspace/spec/spec_examen.rb +++ b/.c9/metadata/workspace/spec/spec_examen.rb @@ -1 +1 @@ -{"filter":false,"title":"spec_examen.rb","tooltip":"/spec/spec_examen.rb","undoManager":{"mark":0,"position":0,"stack":[[{"group":"doc","deltas":[{"start":{"row":0,"column":0},"end":{"row":7,"column":104},"action":"remove","lines":["require_relative \"spec_helper\"","require_relative \"../lib/Examenes\"","","describe Examen do","\t","\tbefore :all do","\t\t@exam= Examen.new(2)","\t\t@pregunta1= S_simple.new('1) Cuanto es la suma de 2+2?', ['1','2','22','ninguna de las anteriores'],'n"]},{"start":{"row":0,"column":0},"end":{"row":103,"column":193},"action":"insert","lines":["# -*- coding: utf-8 -*-","require 'spec_helper'","require './lib/exam.rb'","","","","describe Exam::Examen do"," before :each do"," @examen = Exam::Examen.new(\"¿De que color es el caballo blanco de santiago?\" , [ 'a) Rojo', 'b) Blanco', 'c) Azul' ])"," end",""," describe \"# Existencia de pregunta\" do"," it \"Existe una pregunta\" do"," expect(@examen.pregunta).not_to be_empty"," "," end"," end",""," describe \"# Existencia de respuestas\" do"," it \"Existe mas de una respuesta\" do"," expect(@examen.numero).to be > 1"," end"," end",""," describe \"# Obtener pregunta\" do"," it \"Se obtiene una pregunta\" do"," expect(@examen.pregunta).to match(/¿*^?/)"," "," end"," end",""," describe \"# Obtener respuestas\" do"," it \"Se obtienen las respuestas\" do"," expect(@examen.obtenerRespuestas(0)).to match(/a\\) /)"," expect(@examen.obtenerRespuestas(1)).to match(/b\\) /)"," expect(@examen.obtenerRespuestas(2)).to match(/c\\) /)"," end"," end",""," describe \"# Mostrar resultado\" do"," it \"Se muestra una pregunta seguida de sus respuestas\" do"," expect(@examen.mostrar).to match(/\\?*\\?*a\\)*b\\)*c*\\)*/) "," end"," end","","end","","#-------------------------------------------------------------------------------","","describe Exam::List do"," before :each do"," @lista = Exam::List.new"," end",""," describe \"# Debe existir un Nodo de la lista con sus datos y su siguiente List\" do"," it \"Se comprueba que el valor de la cabeza es 1, se le enlaza el nodo y se comprueba que vale 2\" do"," @lista.push(1)"," expect(@lista.cabeza.value).to eq(1)"," expect(@lista.cabeza.next).to be_nil"," end"," end",""," describe \"# Se extrae el primer elemento de la lista\" do"," it \"Extraer Nodo de cabeza de lista y comprobar que la cabeza vale nil\" do"," @lista.push(1)"," expect(@lista.cabeza.value).to eq(1)"," @lista.pop"," expect(@lista.cabeza).to be_nil"," end"," end",""," describe \"# Se puede insertar un elemento\" do"," it \"Se inserta un Nodo y se comprueba que vale 2\" do"," expect(@lista.cabeza).to be_nil"," @lista.push(2)"," expect(@lista.cabeza.value).to eq(2)"," end"," end",""," describe \"# Se pueden insertar varios elementos\" do"," it \"Se insertan varios nodos y se comprueban sus valores\" do"," @lista.push(2,3,4)"," expect(@lista.cabeza.value).to eq(4)"," expect(@lista.cabeza.next.value).to eq(3)"," expect(@lista.cabeza.next.next.value).to eq(2)"," end"," end",""," describe \"# Debe existir una lista con su cabeza\" do"," it \"se muestra la cabeza y sus enlaces\" do"," expect(@lista.cabeza).to be_nil"," end"," end","","end","","","","#-------------------------------------------------------------------------------------------------------","describe Exam::Examen do"," before :each do"," @pregunta1 = Exam::Examen.new(\"¿Cual es la salida del siguiente codigo Ruby?/tclass Xyz/tdef pots/t@nice/tend/tend/txyz = Xyz.new/tp xyz.pots/t\" , [ 'a) #', 'b) nil', 'c) 0', 'd) Ninguna de las anteriores' ])"," @pregunta2 = Exam::Examen.new(\"La siguiente definicion de un hash en Ruby es valida:/thash_raro = {/t[1, 2, 3] => Object.new(),/tHash.new => :toto/t}/t\" , [ 'a) Cierto', 'b) Falso'])"," @pregunta3 = Exam::Examen.new('¿Cual es la salida del siguiente codigo Ruby?/tclass Array/tdef say_hi/t\"HEY!\"/t end/t end/t /t p [1, \"bob\"].say_hi/t' , [ 'a) 1', 'b) bob', 'c) hey!' ,'d) N"]},{"start":{"row":103,"column":218},"end":{"row":103,"column":219},"action":"insert","lines":["]"]},{"start":{"row":104,"column":0},"end":{"row":104,"column":2},"action":"remove","lines":["\t\t"]},{"start":{"row":104,"column":0},"end":{"row":104,"column":4},"action":"insert","lines":[" "]},{"start":{"row":104,"column":13},"end":{"row":104,"column":84},"action":"remove","lines":["2= Vof.new('2) 2+3 es lo mismo que 3+2 por la propiedad asociativa ','f"]},{"start":{"row":104,"column":13},"end":{"row":105,"column":122},"action":"insert","lines":["4 = Exam::Examen.new(\"¿Cual es el tipo del objeto en el siguiente codigo Ruby?/tclass Objeto/tend/t\" , [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto' , 'd) Ninguna de las anteriores'])"," @pregunta5 = Exam::Examen.new(\"Es apropiado que una clase Tablero herede de una clase Juego./t\" , [ 'a) Cierto', 'b) F"]},{"start":{"row":105,"column":127},"end":{"row":105,"column":128},"action":"insert","lines":["]"]},{"start":{"row":106,"column":0},"end":{"row":106,"column":11},"action":"remove","lines":["\t\t@exam.add"]},{"start":{"row":106,"column":0},"end":{"row":108,"column":10},"action":"insert","lines":[""," @lista_preguntas = Exam::List.new"," @lista"]},{"start":{"row":108,"column":19},"end":{"row":108,"column":25},"action":"insert","lines":["s.push"]},{"start":{"row":108,"column":35},"end":{"row":130,"column":24},"action":"remove","lines":["1)","\t\t@exam.add_pregunta(@pregunta2)","\t\t","\tdef @exam.resolver(resp)","\t\t\t\tpreg_actual=0","\t\t\t\tpreg_correctas=0","\t\t\t\t\twhile preg_actual<@npreguntas","\t\t\t\t\t\tpreg_actual=preg_actual+1","\t\t\t\t\t\tputs @exam.get_ini().pregunta","\t\t\t\t\t\tputs @exam.get_ini().respuesta","\t\t\t\t\t\tputs \"\"","\t\t\t\t\t\t","\t\t\t\t\t\tif @exam.get_ini().resp_correcta(resp[preg_actual-1])","\t\t\t\t\t\t\tpreg_correctas=preg_correctas+1","\t\t\t\t\t\tend","\t\t\t\t\t\t@exam.pop()","\t\t\t\t\t\tputs\"\"","\t\t\t\t\tend","\t\t\t\t\tprint \"Ha respondido bien \"","\t\t\t\t\t\tprint preg_correctas","\t\t\t\t\t\tprint \" preguntas de \"","\t\t\t\t\t\tprint @npreguntas","\t\t\t\t\t\treturn preg_correc"]},{"start":{"row":108,"column":35},"end":{"row":190,"column":101},"action":"insert","lines":["5,@pregunta4,@pregunta3,@pregunta2,@pregunta1)"," end",""," it \"La preguntas y sus respuestas deben coincidir\" do"," expect(@lista_preguntas.cabeza.value.pregunta).to eq(\"¿Cual es la salida del siguiente codigo Ruby?/tclass Xyz/tdef pots/t@nice/tend/tend/txyz = Xyz.new/tp xyz.pots/t\")"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(0)).to eq('a) #')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(1)).to eq('b) nil')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(2)).to eq('c) 0')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(3)).to eq('d) Ninguna de las anteriores')",""," @lista_preguntas.pop"," expect(@lista_preguntas.cabeza.value.pregunta).to eq(\"La siguiente definicion de un hash en Ruby es valida:/thash_raro = {/t[1, 2, 3] => Object.new(),/tHash.new => :toto/t}/t\")"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(0)).to eq('a) Cierto')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(1)).to eq('b) Falso')",""," @lista_preguntas.pop"," expect(@lista_preguntas.cabeza.value.pregunta).to eq('¿Cual es la salida del siguiente codigo Ruby?/tclass Array/tdef say_hi/t\"HEY!\"/t end/t end/t /t p [1, \"bob\"].say_hi/t')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(0)).to eq('a) 1')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(1)).to eq('b) bob')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(2)).to eq('c) hey!')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(3)).to eq('d) Ninguna de las anteriores')",""," @lista_preguntas.pop"," expect(@lista_preguntas.cabeza.value.pregunta).to eq(\"¿Cual es el tipo del objeto en el siguiente codigo Ruby?/tclass Objeto/tend/t\")"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(0)).to eq('a) Una instancia de la clase Class')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(1)).to eq('b) Una constante')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(2)).to eq('c) Un objeto')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(3)).to eq('d) Ninguna de las anteriores')",""," @lista_preguntas.pop"," expect(@lista_preguntas.cabeza.value.pregunta).to eq(\"Es apropiado que una clase Tablero herede de una clase Juego./t\")"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(0)).to eq('a) Cierto')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(1)).to eq('b) Falso')"," end","end","","#-------------------------------------------------------------------------------------------------------","","describe Exam::Examen do"," before :each do"," @lista = Exam::List.new"," end",""," it \"Se debe poder recorrer la lista empezando desde la cabeza\" do"," @lista.push(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)"," expect(@lista.verDesdeCabeza).to eq('9 8 7 6 5 4 3 2 1 0 ')"," end"," "," it \"Se debe poder recorrer la lista empezando desde la cola\" do"," @lista.push(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)"," expect(@lista.verDesdeCola).to eq('0 1 2 3 4 5 6 7 8 9 ')"," end ",""," it \"La preguntas y sus respuestas deben coincidir\" do"," @pregunta1 = Exam::Examen.new(\"¿Cual es el tipo del objeto en el siguiente c´odigo Ruby? /t class Objeto /t end\", [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto', 'd) Ninguna de las anteriores' ])"," @pregunta2 = Exam::Preguntas.new(\"Es apropiado que una clase Tablero herede de una clase Juego.\")"," @lista.push(@pregunta2,@pregunta1)"," "," expect(@lista.cabeza.value.pregunta).to eq(\"¿Cual es el tipo del objeto en el siguiente c´odigo Ruby? /t class Objeto /t end\")"," expect(@lista.cabeza.value.obtenerRespuestas(0)).to eq('a) Una instancia de la clase Class')"," expect(@lista.cabeza.value.obtenerRespuestas(1)).to eq('b) Una constante')"," expect(@lista.cabeza.value.obtenerRespuestas(2)).to eq('c) Un objeto')"," expect(@lista.cabeza.value.obtenerRespuestas(3)).to eq('d) Ninguna de las anteriores')",""," @lista.pop"," expect(@lista.cabeza.value.pregunta).to eq(\"Es apropiado que una clase Tablero herede de una clase Juego.\")"," expect(@lista.cabeza.value.obtenerRespuestas(0)).to eq('a) Cierto')"," expect(@lista.cabeza.value.obtenerRespuestas(1)).to eq('b) Falso')"," end"," "," "," it \"Es pregunta1 hijo de el objeto examen\" do"," @pregunta1 = Exam::Examen.new(\"¿Cual es el tipo del objeto en el siguiente c´odigo Ruby? /t class Objeto /t end\", [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto', 'd) Ninguna de las anteriores' ])"," @pregunta2 = Exam::Preguntas.new(\"Es apropiado que una clase Tablero herede de una clase Juego.\")"," "," expect(@pregunta1).to be_instance_of Exam::Examen #pregunta1 es instancia de Examen"," expect(@pregunta2).to be_instance_of Exam::Preguntas #pregunta2 es instancia de Preguntas"," "," expect(@pregunta1).to be_a_kind_of Exam::Examen #pregunta1 esta en la jeraquia de Examen"," expect(@pregunta1).not_to be_a_kind_of Exam::Preguntas #pregunta1 no esta en la jerarquia de Examen"," "," expect(@pregunta2).to be_a_kind_of Exam::Examen #pregunta2 esta en la jerarquia de Examen"," expect(@pregunta2).to be_a_kind_of Exam::Preguntas #pregunta2 esta en la jerarquia de Pregun"]},{"start":{"row":191,"column":0},"end":{"row":191,"column":1},"action":"remove","lines":["\t"]},{"start":{"row":191,"column":0},"end":{"row":192,"column":2},"action":"insert","lines":[""," "]},{"start":{"row":193,"column":0},"end":{"row":194,"column":0},"action":"insert","lines":[" ",""]},{"start":{"row":195,"column":0},"end":{"row":206,"column":49},"action":"remove","lines":["\t","\tdescribe \"probando clase examen\"do","\t\tit \"se inserta bien la pregunta\" do","\t\t\t@exam.exam.get_ini().should eq(@pregunta1)","\t\tend","\t\tit \"se inserta bien el enunciado de la pregunta\" do","\t\t\t@exam.exam.get_ini().pregunta.should eq('1) Cuanto es la suma de 2+2?')","\t\tend","\t\tit \"se insertan bien las respuestas de la pregunta\" do","\t\t\t@exam.exam.get_ini().respuesta.should eq(['1','2','22','ninguna de las anteriores'])","\t\tend","\t\tit \"se inserta bien la respuesta correcta de la"]},{"start":{"row":195,"column":0},"end":{"row":291,"column":37},"action":"insert","lines":["","","","","#-------------------------------------------------------------------------------------------------------","","describe Exam::Examen do"," before :each do"," @pregunta1 = Exam::Preguntas.new(\"Es apropiado que una clase Tablero herede de una clase Juego.\")"," @pregunta2 = Exam::Examen.new(\"Es apropiado que una clase Tablero herede de una clase Juego.\", [\"a) Cierto\", \"b) Falso\"])"," @pregunta3 = Exam::Examen.new(\"¿Cual es el tipo del objeto en el siguiente c´odigo Ruby? /t class Objeto /t end\", [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto', 'd) Ninguna de las anteriores' ])",""," end"," "," it \"Verifica si los objetos son Comparable\" do"," expect(@pregunta1).to be_a_kind_of Comparable "," expect(@pregunta2).to be_a_kind_of Comparable "," expect(@pregunta3).to be_a_kind_of Comparable"," end"," "," "," it \"Verifica si los objetos son iguales\" do"," expect(@pregunta1).to eq(@pregunta2)"," end"," "," it \"Verifica si los objetos son diferentes\" do"," expect(@pregunta1).not_to eq(@pregunta3)"," end"," "," it \"Verifica si una pregunta es mayor que otra\" do"," expect(@pregunta3).to be > (@pregunta2)"," end"," "," it \"Verifica si una pregunta es menor que otra\" do"," expect(@pregunta2).to be < (@pregunta3)"," end"," ","end"," ","#------------------------------ ","","describe Exam::Examen do"," before :each do"," @pregunta1 = Exam::Examen.new(\"¿Cual es la salida del siguiente codigo Ruby?/tclass Xyz/tdef pots/t@nice/tend/tend/txyz = Xyz.new/tp xyz.pots/t\" , [ 'a) #', 'b) nil', 'c) 0', 'd) Ninguna de las anteriores' ])"," @pregunta2 = Exam::Examen.new(\"La siguiente definicion de un hash en Ruby es valida:/thash_raro = {/t[1, 2, 3] => Object.new(),/tHash.new => :toto/t}/t\" , [ 'a) Cierto', 'b) Falso'])"," @pregunta3 = Exam::Examen.new('¿Cual es la salida del siguiente codigo Ruby?/tclass Array/tdef say_hi/t\"HEY!\"/t end/t end/t /t p [1, \"bob\"].say_hi/t' , [ 'a) 1', 'b) bob', 'c) hey!' ,'d) Ninguna de las anteriores'])"," @pregunta4 = Exam::Examen.new(\"¿Cual es el tipo del objeto en el siguiente codigo Ruby?/tclass Objeto/tend/t\" , [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto' , 'd) Ninguna de las anteriores'])"," @pregunta5 = Exam::Examen.new(\"Es apropiado que una clase Tablero herede de una clase Juego./t\" , [ 'a) Cierto', 'b) Falso'])",""," @lista = Exam::List.new"," @lista.push(@pregunta5,@pregunta4,@pregunta3,@pregunta2,@pregunta1)"," end"," ",""," it \"La clase Lista es Enumerable\" do"," expect(@lista).to be_a_kind_of Enumerable "," end"," "," "," it \"Cuenta el numero de elementos\" do"," expect(@lista.count).to eq(5)"," @lista.pop"," expect(@lista.count).to eq(4)"," @lista.pop"," expect(@lista.count).to eq(3)"," end"," "," it \"Se busca el maximo de la lista (la pregunta mas larga)\" do"," expect(@lista.max).to eq(@pregunta2)"," end"," "," it \"Se busca el minimo de la lista (la pregunta mas corta)\" do"," expect(@lista.min).to eq(@pregunta5)"," end"," ","","end","","#------------------------------ ","","describe Exam::Examen do"," before :each do"," @pregunta1 = Exam::Preguntas.new(\"Es apropiado que una clase Tablero herede de una clase Juego.\")"," @pregunta2 = Exam::Examen.new('¿Cual es la salida del siguiente codigo Ruby?/tclass Array/tdef say_hi/t\"HEY!\"/t end/t end/t /t p [1, \"bob\"].say_hi/t' , [ 'a) 1', 'b) bob', 'c) hey!' ,'d) Ninguna de las anteriores'])",""," @solucion1 = 'a'"," @solucion2 = 'd'"," "," @lista_soluciones = Exam::List.new"," @lista_soluciones.push(@solucion1,@solucion2)",""," @lista_preguntas = Exam::List.new"," @lista_preguntas.push(@pregunta2,@pregunta1)"," @examen = Exam::ExamenCompleto.new(@lista_preguntas,@lista_soluciones)"," end"," "," it \"Un examen contiene una lista de"]},{"start":{"row":291,"column":46},"end":{"row":291,"column":47},"action":"insert","lines":["s"]},{"start":{"row":292,"column":0},"end":{"row":292,"column":45},"action":"remove","lines":["\t\t\t@exam.exam.get_ini().correcta.should eq('n"]},{"start":{"row":292,"column":0},"end":{"row":305,"column":192},"action":"insert","lines":[" expect(@examen.obtenerPreguntas).to eq(@lista_preguntas)"," end"," "," it \"Un examen contiene una lista de soluciones\" do"," expect(@examen.obtenerSoluciones).to eq(@lista_soluciones)"," end","end","","#------------------------------ ","","describe Exam::Examen do"," before :each do"," @pregunta1 = Exam::Preguntas.new(\"Es apropiado que una clase Tablero herede de una clase Juego.\")"," @pregunta2 = Exam::Examen.new('Cual es la salida del siguiente codigo Ruby?/tclass Array/tdef say_hi/t\"HEY!\"/t end/t end/t /t p [1, \"bob\"].say_hi/t' , [ 'a) 1', 'b) bob', 'c) hey!' ,'d) N"]},{"start":{"row":305,"column":217},"end":{"row":305,"column":218},"action":"insert","lines":["]"]},{"start":{"row":306,"column":0},"end":{"row":311,"column":39},"action":"remove","lines":["\t\tend","\tend","\t","\tdescribe \"resolver el examen\" do","\t\tit \"resolviendo examen\" do","\t\t\t@exam.resolver(['2','falso']).should"]},{"start":{"row":306,"column":0},"end":{"row":348,"column":36},"action":"insert","lines":[""," @solucion1 = 'a'"," @solucion2 = 'd'"," "," @lista_soluciones = Exam::List.new"," @lista_soluciones.push(@solucion2, @solucion1)",""," @lista_preguntas = Exam::List.new"," @lista_preguntas.push(@pregunta2, @pregunta1)"," "," @examen = Exam::ExamenCompleto.new(@lista_preguntas, @lista_soluciones)"," "," @ui = Exam::UI.new(@examen)"," end"," "," "," it \"Una UI tiene un metodo para mostrar preguntas y posibles respuestas\" do"," expect(@ui.mostrarPregunta(1)).to eq(@examen.obtenerPregunta(1))"," expect(@ui.mostrarPregunta(2)).to eq(@examen.obtenerPregunta(2))"," end"," "," it \"Una UI tiene un metodo para recibir input del usuario\" do"," expect(@ui.input(1)).to eq(true)"," end"," "," it \"Una UI compara la respuesta con la solucion\" do"," expect(@ui.comparar(2,'d')).to eq(true)"," end"," "," it \"Una UI almacena el numero de aciertos\" do"," expect(@ui.aciertos).to eq(0)"," end"," "," it \"Una UI compara aciertos con numero de preguntas y muestra nota final\" do"," expect(@ui.nota).to eq(-1)"," end"," "," it \"Una UI tiene un metodo para que un usuario realice un examen\" do"," expect(@ui.examinar('a','d')).to eq(10)"," end"," "," it \"Una UI tiene un metodo para que un usuario realice un examen\" do"," expect(@ui.examinar('b','d')).to"]},{"start":{"row":348,"column":40},"end":{"row":348,"column":41},"action":"remove","lines":["1"]},{"start":{"row":348,"column":40},"end":{"row":348,"column":41},"action":"insert","lines":["5"]},{"start":{"row":349,"column":0},"end":{"row":352,"column":1},"action":"remove","lines":["\t\t\t@exam.add_pregunta(@pregunta1)","\t\t\t@exam.add_pregunta(@pregunta2)","\t\tend","\t"]},{"start":{"row":349,"column":0},"end":{"row":375,"column":2},"action":"insert","lines":[" end"," ","end","","","#------------------------------ ","","describe Exam::Examen do"," before :each do"," @lista_preguntas = Exam::List.new"," @lista_preguntas.push(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) "," "," @lista_soluciones = Exam::List.new"," @lista_soluciones.push('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j')"," "," @examen = Exam::ExamenCompleto.new(@lista_preguntas, @lista_soluciones)"," "," @ui = Exam::UI.new(@examen)"," end"," "," it \"Se da la vuelta y se comprueba desde la cabeza\" do"," expect(@ui.contenido.lista_preguntas.verDesdeCola).to eq(\"0 1 2 3 4 5 6 7 8 9 \")"," expect(@ui.contenido.lista_soluciones.verDesdeCola).to eq(\"a b c d e f g h i j \")"," @ui.invertir"," expect(@ui.contenido.lista_preguntas.verDesdeCola).to eq(\"9 8 7 6 5 4 3 2 1 0 \")"," expect(@ui.contenido.lista_soluciones.verDesdeCola).to eq(\"j i h g f e d c b a \")"," "]},{"start":{"row":376,"column":0},"end":{"row":376,"column":1},"action":"remove","lines":["\t"]},{"start":{"row":376,"column":0},"end":{"row":376,"column":2},"action":"insert","lines":[" "]},{"start":{"row":377,"column":3},"end":{"row":378,"column":0},"action":"remove","lines":["",""]}]}]]},"ace":{"folds":[],"scrolltop":807.5,"scrollleft":0,"selection":{"start":{"row":108,"column":35},"end":{"row":108,"column":35},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":43,"state":"start","mode":"ace/mode/ruby"}},"timestamp":1416496303183,"hash":"79740a79c17eaa8210016a6c7f264cbd6b6f42c2"} \ No newline at end of file +{"filter":false,"title":"spec_examen.rb","tooltip":"/spec/spec_examen.rb","undoManager":{"mark":78,"position":78,"stack":[[{"group":"doc","deltas":[{"start":{"row":0,"column":0},"end":{"row":7,"column":104},"action":"remove","lines":["require_relative \"spec_helper\"","require_relative \"../lib/Examenes\"","","describe Examen do","\t","\tbefore :all do","\t\t@exam= Examen.new(2)","\t\t@pregunta1= S_simple.new('1) Cuanto es la suma de 2+2?', ['1','2','22','ninguna de las anteriores'],'n"]},{"start":{"row":0,"column":0},"end":{"row":103,"column":193},"action":"insert","lines":["# -*- coding: utf-8 -*-","require 'spec_helper'","require './lib/exam.rb'","","","","describe Exam::Examen do"," before :each do"," @examen = Exam::Examen.new(\"¿De que color es el caballo blanco de santiago?\" , [ 'a) Rojo', 'b) Blanco', 'c) Azul' ])"," end",""," describe \"# Existencia de pregunta\" do"," it \"Existe una pregunta\" do"," expect(@examen.pregunta).not_to be_empty"," "," end"," end",""," describe \"# Existencia de respuestas\" do"," it \"Existe mas de una respuesta\" do"," expect(@examen.numero).to be > 1"," end"," end",""," describe \"# Obtener pregunta\" do"," it \"Se obtiene una pregunta\" do"," expect(@examen.pregunta).to match(/¿*^?/)"," "," end"," end",""," describe \"# Obtener respuestas\" do"," it \"Se obtienen las respuestas\" do"," expect(@examen.obtenerRespuestas(0)).to match(/a\\) /)"," expect(@examen.obtenerRespuestas(1)).to match(/b\\) /)"," expect(@examen.obtenerRespuestas(2)).to match(/c\\) /)"," end"," end",""," describe \"# Mostrar resultado\" do"," it \"Se muestra una pregunta seguida de sus respuestas\" do"," expect(@examen.mostrar).to match(/\\?*\\?*a\\)*b\\)*c*\\)*/) "," end"," end","","end","","#-------------------------------------------------------------------------------","","describe Exam::List do"," before :each do"," @lista = Exam::List.new"," end",""," describe \"# Debe existir un Nodo de la lista con sus datos y su siguiente List\" do"," it \"Se comprueba que el valor de la cabeza es 1, se le enlaza el nodo y se comprueba que vale 2\" do"," @lista.push(1)"," expect(@lista.cabeza.value).to eq(1)"," expect(@lista.cabeza.next).to be_nil"," end"," end",""," describe \"# Se extrae el primer elemento de la lista\" do"," it \"Extraer Nodo de cabeza de lista y comprobar que la cabeza vale nil\" do"," @lista.push(1)"," expect(@lista.cabeza.value).to eq(1)"," @lista.pop"," expect(@lista.cabeza).to be_nil"," end"," end",""," describe \"# Se puede insertar un elemento\" do"," it \"Se inserta un Nodo y se comprueba que vale 2\" do"," expect(@lista.cabeza).to be_nil"," @lista.push(2)"," expect(@lista.cabeza.value).to eq(2)"," end"," end",""," describe \"# Se pueden insertar varios elementos\" do"," it \"Se insertan varios nodos y se comprueban sus valores\" do"," @lista.push(2,3,4)"," expect(@lista.cabeza.value).to eq(4)"," expect(@lista.cabeza.next.value).to eq(3)"," expect(@lista.cabeza.next.next.value).to eq(2)"," end"," end",""," describe \"# Debe existir una lista con su cabeza\" do"," it \"se muestra la cabeza y sus enlaces\" do"," expect(@lista.cabeza).to be_nil"," end"," end","","end","","","","#-------------------------------------------------------------------------------------------------------","describe Exam::Examen do"," before :each do"," @pregunta1 = Exam::Examen.new(\"¿Cual es la salida del siguiente codigo Ruby?/tclass Xyz/tdef pots/t@nice/tend/tend/txyz = Xyz.new/tp xyz.pots/t\" , [ 'a) #', 'b) nil', 'c) 0', 'd) Ninguna de las anteriores' ])"," @pregunta2 = Exam::Examen.new(\"La siguiente definicion de un hash en Ruby es valida:/thash_raro = {/t[1, 2, 3] => Object.new(),/tHash.new => :toto/t}/t\" , [ 'a) Cierto', 'b) Falso'])"," @pregunta3 = Exam::Examen.new('¿Cual es la salida del siguiente codigo Ruby?/tclass Array/tdef say_hi/t\"HEY!\"/t end/t end/t /t p [1, \"bob\"].say_hi/t' , [ 'a) 1', 'b) bob', 'c) hey!' ,'d) N"]},{"start":{"row":103,"column":218},"end":{"row":103,"column":219},"action":"insert","lines":["]"]},{"start":{"row":104,"column":0},"end":{"row":104,"column":2},"action":"remove","lines":["\t\t"]},{"start":{"row":104,"column":0},"end":{"row":104,"column":4},"action":"insert","lines":[" "]},{"start":{"row":104,"column":13},"end":{"row":104,"column":84},"action":"remove","lines":["2= Vof.new('2) 2+3 es lo mismo que 3+2 por la propiedad asociativa ','f"]},{"start":{"row":104,"column":13},"end":{"row":105,"column":122},"action":"insert","lines":["4 = Exam::Examen.new(\"¿Cual es el tipo del objeto en el siguiente codigo Ruby?/tclass Objeto/tend/t\" , [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto' , 'd) Ninguna de las anteriores'])"," @pregunta5 = Exam::Examen.new(\"Es apropiado que una clase Tablero herede de una clase Juego./t\" , [ 'a) Cierto', 'b) F"]},{"start":{"row":105,"column":127},"end":{"row":105,"column":128},"action":"insert","lines":["]"]},{"start":{"row":106,"column":0},"end":{"row":106,"column":11},"action":"remove","lines":["\t\t@exam.add"]},{"start":{"row":106,"column":0},"end":{"row":108,"column":10},"action":"insert","lines":[""," @lista_preguntas = Exam::List.new"," @lista"]},{"start":{"row":108,"column":19},"end":{"row":108,"column":25},"action":"insert","lines":["s.push"]},{"start":{"row":108,"column":35},"end":{"row":130,"column":24},"action":"remove","lines":["1)","\t\t@exam.add_pregunta(@pregunta2)","\t\t","\tdef @exam.resolver(resp)","\t\t\t\tpreg_actual=0","\t\t\t\tpreg_correctas=0","\t\t\t\t\twhile preg_actual<@npreguntas","\t\t\t\t\t\tpreg_actual=preg_actual+1","\t\t\t\t\t\tputs @exam.get_ini().pregunta","\t\t\t\t\t\tputs @exam.get_ini().respuesta","\t\t\t\t\t\tputs \"\"","\t\t\t\t\t\t","\t\t\t\t\t\tif @exam.get_ini().resp_correcta(resp[preg_actual-1])","\t\t\t\t\t\t\tpreg_correctas=preg_correctas+1","\t\t\t\t\t\tend","\t\t\t\t\t\t@exam.pop()","\t\t\t\t\t\tputs\"\"","\t\t\t\t\tend","\t\t\t\t\tprint \"Ha respondido bien \"","\t\t\t\t\t\tprint preg_correctas","\t\t\t\t\t\tprint \" preguntas de \"","\t\t\t\t\t\tprint @npreguntas","\t\t\t\t\t\treturn preg_correc"]},{"start":{"row":108,"column":35},"end":{"row":190,"column":101},"action":"insert","lines":["5,@pregunta4,@pregunta3,@pregunta2,@pregunta1)"," end",""," it \"La preguntas y sus respuestas deben coincidir\" do"," expect(@lista_preguntas.cabeza.value.pregunta).to eq(\"¿Cual es la salida del siguiente codigo Ruby?/tclass Xyz/tdef pots/t@nice/tend/tend/txyz = Xyz.new/tp xyz.pots/t\")"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(0)).to eq('a) #')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(1)).to eq('b) nil')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(2)).to eq('c) 0')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(3)).to eq('d) Ninguna de las anteriores')",""," @lista_preguntas.pop"," expect(@lista_preguntas.cabeza.value.pregunta).to eq(\"La siguiente definicion de un hash en Ruby es valida:/thash_raro = {/t[1, 2, 3] => Object.new(),/tHash.new => :toto/t}/t\")"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(0)).to eq('a) Cierto')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(1)).to eq('b) Falso')",""," @lista_preguntas.pop"," expect(@lista_preguntas.cabeza.value.pregunta).to eq('¿Cual es la salida del siguiente codigo Ruby?/tclass Array/tdef say_hi/t\"HEY!\"/t end/t end/t /t p [1, \"bob\"].say_hi/t')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(0)).to eq('a) 1')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(1)).to eq('b) bob')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(2)).to eq('c) hey!')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(3)).to eq('d) Ninguna de las anteriores')",""," @lista_preguntas.pop"," expect(@lista_preguntas.cabeza.value.pregunta).to eq(\"¿Cual es el tipo del objeto en el siguiente codigo Ruby?/tclass Objeto/tend/t\")"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(0)).to eq('a) Una instancia de la clase Class')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(1)).to eq('b) Una constante')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(2)).to eq('c) Un objeto')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(3)).to eq('d) Ninguna de las anteriores')",""," @lista_preguntas.pop"," expect(@lista_preguntas.cabeza.value.pregunta).to eq(\"Es apropiado que una clase Tablero herede de una clase Juego./t\")"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(0)).to eq('a) Cierto')"," expect(@lista_preguntas.cabeza.value.obtenerRespuestas(1)).to eq('b) Falso')"," end","end","","#-------------------------------------------------------------------------------------------------------","","describe Exam::Examen do"," before :each do"," @lista = Exam::List.new"," end",""," it \"Se debe poder recorrer la lista empezando desde la cabeza\" do"," @lista.push(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)"," expect(@lista.verDesdeCabeza).to eq('9 8 7 6 5 4 3 2 1 0 ')"," end"," "," it \"Se debe poder recorrer la lista empezando desde la cola\" do"," @lista.push(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)"," expect(@lista.verDesdeCola).to eq('0 1 2 3 4 5 6 7 8 9 ')"," end ",""," it \"La preguntas y sus respuestas deben coincidir\" do"," @pregunta1 = Exam::Examen.new(\"¿Cual es el tipo del objeto en el siguiente c´odigo Ruby? /t class Objeto /t end\", [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto', 'd) Ninguna de las anteriores' ])"," @pregunta2 = Exam::Preguntas.new(\"Es apropiado que una clase Tablero herede de una clase Juego.\")"," @lista.push(@pregunta2,@pregunta1)"," "," expect(@lista.cabeza.value.pregunta).to eq(\"¿Cual es el tipo del objeto en el siguiente c´odigo Ruby? /t class Objeto /t end\")"," expect(@lista.cabeza.value.obtenerRespuestas(0)).to eq('a) Una instancia de la clase Class')"," expect(@lista.cabeza.value.obtenerRespuestas(1)).to eq('b) Una constante')"," expect(@lista.cabeza.value.obtenerRespuestas(2)).to eq('c) Un objeto')"," expect(@lista.cabeza.value.obtenerRespuestas(3)).to eq('d) Ninguna de las anteriores')",""," @lista.pop"," expect(@lista.cabeza.value.pregunta).to eq(\"Es apropiado que una clase Tablero herede de una clase Juego.\")"," expect(@lista.cabeza.value.obtenerRespuestas(0)).to eq('a) Cierto')"," expect(@lista.cabeza.value.obtenerRespuestas(1)).to eq('b) Falso')"," end"," "," "," it \"Es pregunta1 hijo de el objeto examen\" do"," @pregunta1 = Exam::Examen.new(\"¿Cual es el tipo del objeto en el siguiente c´odigo Ruby? /t class Objeto /t end\", [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto', 'd) Ninguna de las anteriores' ])"," @pregunta2 = Exam::Preguntas.new(\"Es apropiado que una clase Tablero herede de una clase Juego.\")"," "," expect(@pregunta1).to be_instance_of Exam::Examen #pregunta1 es instancia de Examen"," expect(@pregunta2).to be_instance_of Exam::Preguntas #pregunta2 es instancia de Preguntas"," "," expect(@pregunta1).to be_a_kind_of Exam::Examen #pregunta1 esta en la jeraquia de Examen"," expect(@pregunta1).not_to be_a_kind_of Exam::Preguntas #pregunta1 no esta en la jerarquia de Examen"," "," expect(@pregunta2).to be_a_kind_of Exam::Examen #pregunta2 esta en la jerarquia de Examen"," expect(@pregunta2).to be_a_kind_of Exam::Preguntas #pregunta2 esta en la jerarquia de Pregun"]},{"start":{"row":191,"column":0},"end":{"row":191,"column":1},"action":"remove","lines":["\t"]},{"start":{"row":191,"column":0},"end":{"row":192,"column":2},"action":"insert","lines":[""," "]},{"start":{"row":193,"column":0},"end":{"row":194,"column":0},"action":"insert","lines":[" ",""]},{"start":{"row":195,"column":0},"end":{"row":206,"column":49},"action":"remove","lines":["\t","\tdescribe \"probando clase examen\"do","\t\tit \"se inserta bien la pregunta\" do","\t\t\t@exam.exam.get_ini().should eq(@pregunta1)","\t\tend","\t\tit \"se inserta bien el enunciado de la pregunta\" do","\t\t\t@exam.exam.get_ini().pregunta.should eq('1) Cuanto es la suma de 2+2?')","\t\tend","\t\tit \"se insertan bien las respuestas de la pregunta\" do","\t\t\t@exam.exam.get_ini().respuesta.should eq(['1','2','22','ninguna de las anteriores'])","\t\tend","\t\tit \"se inserta bien la respuesta correcta de la"]},{"start":{"row":195,"column":0},"end":{"row":291,"column":37},"action":"insert","lines":["","","","","#-------------------------------------------------------------------------------------------------------","","describe Exam::Examen do"," before :each do"," @pregunta1 = Exam::Preguntas.new(\"Es apropiado que una clase Tablero herede de una clase Juego.\")"," @pregunta2 = Exam::Examen.new(\"Es apropiado que una clase Tablero herede de una clase Juego.\", [\"a) Cierto\", \"b) Falso\"])"," @pregunta3 = Exam::Examen.new(\"¿Cual es el tipo del objeto en el siguiente c´odigo Ruby? /t class Objeto /t end\", [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto', 'd) Ninguna de las anteriores' ])",""," end"," "," it \"Verifica si los objetos son Comparable\" do"," expect(@pregunta1).to be_a_kind_of Comparable "," expect(@pregunta2).to be_a_kind_of Comparable "," expect(@pregunta3).to be_a_kind_of Comparable"," end"," "," "," it \"Verifica si los objetos son iguales\" do"," expect(@pregunta1).to eq(@pregunta2)"," end"," "," it \"Verifica si los objetos son diferentes\" do"," expect(@pregunta1).not_to eq(@pregunta3)"," end"," "," it \"Verifica si una pregunta es mayor que otra\" do"," expect(@pregunta3).to be > (@pregunta2)"," end"," "," it \"Verifica si una pregunta es menor que otra\" do"," expect(@pregunta2).to be < (@pregunta3)"," end"," ","end"," ","#------------------------------ ","","describe Exam::Examen do"," before :each do"," @pregunta1 = Exam::Examen.new(\"¿Cual es la salida del siguiente codigo Ruby?/tclass Xyz/tdef pots/t@nice/tend/tend/txyz = Xyz.new/tp xyz.pots/t\" , [ 'a) #', 'b) nil', 'c) 0', 'd) Ninguna de las anteriores' ])"," @pregunta2 = Exam::Examen.new(\"La siguiente definicion de un hash en Ruby es valida:/thash_raro = {/t[1, 2, 3] => Object.new(),/tHash.new => :toto/t}/t\" , [ 'a) Cierto', 'b) Falso'])"," @pregunta3 = Exam::Examen.new('¿Cual es la salida del siguiente codigo Ruby?/tclass Array/tdef say_hi/t\"HEY!\"/t end/t end/t /t p [1, \"bob\"].say_hi/t' , [ 'a) 1', 'b) bob', 'c) hey!' ,'d) Ninguna de las anteriores'])"," @pregunta4 = Exam::Examen.new(\"¿Cual es el tipo del objeto en el siguiente codigo Ruby?/tclass Objeto/tend/t\" , [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto' , 'd) Ninguna de las anteriores'])"," @pregunta5 = Exam::Examen.new(\"Es apropiado que una clase Tablero herede de una clase Juego./t\" , [ 'a) Cierto', 'b) Falso'])",""," @lista = Exam::List.new"," @lista.push(@pregunta5,@pregunta4,@pregunta3,@pregunta2,@pregunta1)"," end"," ",""," it \"La clase Lista es Enumerable\" do"," expect(@lista).to be_a_kind_of Enumerable "," end"," "," "," it \"Cuenta el numero de elementos\" do"," expect(@lista.count).to eq(5)"," @lista.pop"," expect(@lista.count).to eq(4)"," @lista.pop"," expect(@lista.count).to eq(3)"," end"," "," it \"Se busca el maximo de la lista (la pregunta mas larga)\" do"," expect(@lista.max).to eq(@pregunta2)"," end"," "," it \"Se busca el minimo de la lista (la pregunta mas corta)\" do"," expect(@lista.min).to eq(@pregunta5)"," end"," ","","end","","#------------------------------ ","","describe Exam::Examen do"," before :each do"," @pregunta1 = Exam::Preguntas.new(\"Es apropiado que una clase Tablero herede de una clase Juego.\")"," @pregunta2 = Exam::Examen.new('¿Cual es la salida del siguiente codigo Ruby?/tclass Array/tdef say_hi/t\"HEY!\"/t end/t end/t /t p [1, \"bob\"].say_hi/t' , [ 'a) 1', 'b) bob', 'c) hey!' ,'d) Ninguna de las anteriores'])",""," @solucion1 = 'a'"," @solucion2 = 'd'"," "," @lista_soluciones = Exam::List.new"," @lista_soluciones.push(@solucion1,@solucion2)",""," @lista_preguntas = Exam::List.new"," @lista_preguntas.push(@pregunta2,@pregunta1)"," @examen = Exam::ExamenCompleto.new(@lista_preguntas,@lista_soluciones)"," end"," "," it \"Un examen contiene una lista de"]},{"start":{"row":291,"column":46},"end":{"row":291,"column":47},"action":"insert","lines":["s"]},{"start":{"row":292,"column":0},"end":{"row":292,"column":45},"action":"remove","lines":["\t\t\t@exam.exam.get_ini().correcta.should eq('n"]},{"start":{"row":292,"column":0},"end":{"row":305,"column":192},"action":"insert","lines":[" expect(@examen.obtenerPreguntas).to eq(@lista_preguntas)"," end"," "," it \"Un examen contiene una lista de soluciones\" do"," expect(@examen.obtenerSoluciones).to eq(@lista_soluciones)"," end","end","","#------------------------------ ","","describe Exam::Examen do"," before :each do"," @pregunta1 = Exam::Preguntas.new(\"Es apropiado que una clase Tablero herede de una clase Juego.\")"," @pregunta2 = Exam::Examen.new('Cual es la salida del siguiente codigo Ruby?/tclass Array/tdef say_hi/t\"HEY!\"/t end/t end/t /t p [1, \"bob\"].say_hi/t' , [ 'a) 1', 'b) bob', 'c) hey!' ,'d) N"]},{"start":{"row":305,"column":217},"end":{"row":305,"column":218},"action":"insert","lines":["]"]},{"start":{"row":306,"column":0},"end":{"row":311,"column":39},"action":"remove","lines":["\t\tend","\tend","\t","\tdescribe \"resolver el examen\" do","\t\tit \"resolviendo examen\" do","\t\t\t@exam.resolver(['2','falso']).should"]},{"start":{"row":306,"column":0},"end":{"row":348,"column":36},"action":"insert","lines":[""," @solucion1 = 'a'"," @solucion2 = 'd'"," "," @lista_soluciones = Exam::List.new"," @lista_soluciones.push(@solucion2, @solucion1)",""," @lista_preguntas = Exam::List.new"," @lista_preguntas.push(@pregunta2, @pregunta1)"," "," @examen = Exam::ExamenCompleto.new(@lista_preguntas, @lista_soluciones)"," "," @ui = Exam::UI.new(@examen)"," end"," "," "," it \"Una UI tiene un metodo para mostrar preguntas y posibles respuestas\" do"," expect(@ui.mostrarPregunta(1)).to eq(@examen.obtenerPregunta(1))"," expect(@ui.mostrarPregunta(2)).to eq(@examen.obtenerPregunta(2))"," end"," "," it \"Una UI tiene un metodo para recibir input del usuario\" do"," expect(@ui.input(1)).to eq(true)"," end"," "," it \"Una UI compara la respuesta con la solucion\" do"," expect(@ui.comparar(2,'d')).to eq(true)"," end"," "," it \"Una UI almacena el numero de aciertos\" do"," expect(@ui.aciertos).to eq(0)"," end"," "," it \"Una UI compara aciertos con numero de preguntas y muestra nota final\" do"," expect(@ui.nota).to eq(-1)"," end"," "," it \"Una UI tiene un metodo para que un usuario realice un examen\" do"," expect(@ui.examinar('a','d')).to eq(10)"," end"," "," it \"Una UI tiene un metodo para que un usuario realice un examen\" do"," expect(@ui.examinar('b','d')).to"]},{"start":{"row":348,"column":40},"end":{"row":348,"column":41},"action":"remove","lines":["1"]},{"start":{"row":348,"column":40},"end":{"row":348,"column":41},"action":"insert","lines":["5"]},{"start":{"row":349,"column":0},"end":{"row":352,"column":1},"action":"remove","lines":["\t\t\t@exam.add_pregunta(@pregunta1)","\t\t\t@exam.add_pregunta(@pregunta2)","\t\tend","\t"]},{"start":{"row":349,"column":0},"end":{"row":375,"column":2},"action":"insert","lines":[" end"," ","end","","","#------------------------------ ","","describe Exam::Examen do"," before :each do"," @lista_preguntas = Exam::List.new"," @lista_preguntas.push(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) "," "," @lista_soluciones = Exam::List.new"," @lista_soluciones.push('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j')"," "," @examen = Exam::ExamenCompleto.new(@lista_preguntas, @lista_soluciones)"," "," @ui = Exam::UI.new(@examen)"," end"," "," it \"Se da la vuelta y se comprueba desde la cabeza\" do"," expect(@ui.contenido.lista_preguntas.verDesdeCola).to eq(\"0 1 2 3 4 5 6 7 8 9 \")"," expect(@ui.contenido.lista_soluciones.verDesdeCola).to eq(\"a b c d e f g h i j \")"," @ui.invertir"," expect(@ui.contenido.lista_preguntas.verDesdeCola).to eq(\"9 8 7 6 5 4 3 2 1 0 \")"," expect(@ui.contenido.lista_soluciones.verDesdeCola).to eq(\"j i h g f e d c b a \")"," "]},{"start":{"row":376,"column":0},"end":{"row":376,"column":1},"action":"remove","lines":["\t"]},{"start":{"row":376,"column":0},"end":{"row":376,"column":2},"action":"insert","lines":[" "]},{"start":{"row":377,"column":3},"end":{"row":378,"column":0},"action":"remove","lines":["",""]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":9},"end":{"row":2,"column":10},"action":"insert","lines":["."]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":9},"end":{"row":2,"column":10},"action":"remove","lines":["."]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":7},"end":{"row":2,"column":8},"action":"insert","lines":["_"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":8},"end":{"row":2,"column":9},"action":"insert","lines":["r"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":9},"end":{"row":2,"column":10},"action":"insert","lines":["e"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":10},"end":{"row":2,"column":11},"action":"insert","lines":["l"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":11},"end":{"row":2,"column":12},"action":"insert","lines":["a"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":12},"end":{"row":2,"column":13},"action":"insert","lines":["t"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":13},"end":{"row":2,"column":14},"action":"insert","lines":["i"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":14},"end":{"row":2,"column":15},"action":"insert","lines":["v"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":15},"end":{"row":2,"column":16},"action":"insert","lines":["e"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":24},"end":{"row":2,"column":25},"action":"remove","lines":["e"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":24},"end":{"row":2,"column":25},"action":"insert","lines":["E"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":28},"end":{"row":2,"column":29},"action":"insert","lines":["e"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":29},"end":{"row":2,"column":30},"action":"insert","lines":["n"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":30},"end":{"row":2,"column":31},"action":"insert","lines":["e"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":31},"end":{"row":2,"column":32},"action":"insert","lines":["s"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":15},"end":{"row":2,"column":16},"action":"remove","lines":["e"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":14},"end":{"row":2,"column":15},"action":"remove","lines":["v"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":13},"end":{"row":2,"column":14},"action":"remove","lines":["i"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":12},"end":{"row":2,"column":13},"action":"remove","lines":["t"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":11},"end":{"row":2,"column":12},"action":"remove","lines":["a"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":10},"end":{"row":2,"column":11},"action":"remove","lines":["l"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":9},"end":{"row":2,"column":10},"action":"remove","lines":["e"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":8},"end":{"row":2,"column":9},"action":"remove","lines":["r"]}]}],[{"group":"doc","deltas":[{"start":{"row":2,"column":7},"end":{"row":2,"column":8},"action":"remove","lines":["_"]}]}],[{"group":"doc","deltas":[{"start":{"row":6,"column":13},"end":{"row":6,"column":17},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":8,"column":18},"end":{"row":8,"column":22},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":49,"column":13},"end":{"row":49,"column":17},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":51,"column":17},"end":{"row":51,"column":21},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":99,"column":13},"end":{"row":99,"column":17},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":101,"column":21},"end":{"row":101,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":102,"column":21},"end":{"row":102,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":103,"column":21},"end":{"row":103,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":104,"column":21},"end":{"row":104,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":105,"column":21},"end":{"row":105,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":107,"column":27},"end":{"row":107,"column":31},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":146,"column":13},"end":{"row":146,"column":17},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":148,"column":17},"end":{"row":148,"column":21},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":162,"column":21},"end":{"row":162,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":163,"column":21},"end":{"row":163,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":180,"column":21},"end":{"row":180,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":181,"column":21},"end":{"row":181,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":183,"column":45},"end":{"row":183,"column":49},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":184,"column":45},"end":{"row":184,"column":49},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":186,"column":43},"end":{"row":186,"column":47},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":187,"column":47},"end":{"row":187,"column":51},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":189,"column":43},"end":{"row":189,"column":47},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":190,"column":43},"end":{"row":190,"column":47},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":201,"column":13},"end":{"row":201,"column":17},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":203,"column":21},"end":{"row":203,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":204,"column":21},"end":{"row":204,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":205,"column":21},"end":{"row":205,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":236,"column":13},"end":{"row":236,"column":17},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":238,"column":21},"end":{"row":238,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":239,"column":21},"end":{"row":239,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":240,"column":21},"end":{"row":240,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":241,"column":21},"end":{"row":241,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":242,"column":21},"end":{"row":242,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":244,"column":17},"end":{"row":244,"column":21},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":275,"column":13},"end":{"row":275,"column":17},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":277,"column":21},"end":{"row":277,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":278,"column":21},"end":{"row":278,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":283,"column":28},"end":{"row":283,"column":32},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":286,"column":27},"end":{"row":286,"column":31},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":288,"column":18},"end":{"row":288,"column":22},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":302,"column":13},"end":{"row":302,"column":17},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":304,"column":21},"end":{"row":304,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":305,"column":21},"end":{"row":305,"column":25},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":310,"column":28},"end":{"row":310,"column":32},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":313,"column":27},"end":{"row":313,"column":31},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":316,"column":18},"end":{"row":316,"column":22},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":318,"column":14},"end":{"row":318,"column":18},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":356,"column":13},"end":{"row":356,"column":17},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":358,"column":27},"end":{"row":358,"column":31},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":361,"column":28},"end":{"row":361,"column":32},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":364,"column":18},"end":{"row":364,"column":22},"action":"insert","lines":["enes"]}]}],[{"group":"doc","deltas":[{"start":{"row":366,"column":14},"end":{"row":366,"column":18},"action":"insert","lines":["enes"]}]}]]},"ace":{"folds":[],"scrolltop":6291.5,"scrollleft":0,"selection":{"start":{"row":366,"column":18},"end":{"row":366,"column":18},"isBackwards":false},"options":{"guessTabSize":true,"useWrapMode":false,"wrapToView":true},"firstLineState":{"row":80,"state":"start","mode":"ace/mode/ruby"}},"timestamp":1416916298394,"hash":"26e4d317cc353e796f7d457dee7b6834f6552e76"} \ No newline at end of file diff --git a/lib/Examenes.rb b/lib/Examenes.rb index a8610e9..0d71326 100755 --- a/lib/Examenes.rb +++ b/lib/Examenes.rb @@ -3,7 +3,6 @@ require "Examenes/Listas" require "Examenes/interfaz.rb" require "Examenes/examen.rb" -require "inversor.rb" module Examenes # Your code goes here... end diff --git a/lib/Examenes/Listas.rb b/lib/Examenes/Listas.rb index 48670bd..5912208 100755 --- a/lib/Examenes/Listas.rb +++ b/lib/Examenes/Listas.rb @@ -6,7 +6,7 @@ # create a Struct with :value and :next Node = Struct.new(:value, :next, :previous) -module Exam +module Examenes class List include Enumerable attr_reader :cabeza, :cola, :numeroNodos diff --git a/lib/Examenes/examen.rb b/lib/Examenes/examen.rb index edf16c7..3e897e7 100755 --- a/lib/Examenes/examen.rb +++ b/lib/Examenes/examen.rb @@ -3,7 +3,7 @@ require 'bundler/setup' require 'rspec' -module Exam +module Examenes class ExamenCompleto attr_reader :lista_preguntas, :lista_soluciones diff --git a/lib/Examenes/interfaz.rb b/lib/Examenes/interfaz.rb index f1c4b37..5076f11 100755 --- a/lib/Examenes/interfaz.rb +++ b/lib/Examenes/interfaz.rb @@ -3,7 +3,7 @@ require 'bundler/setup' require 'rspec' -module Exam +module Examenes class UI attr_reader :contenido, :aciertos, :nota @@ -88,4 +88,24 @@ def invertir end + + def invertirLista(lista) + listaTemp = Examenes::List.new + lista.map { |elemento| listaTemp.push(elemento) } + return listaTemp + end + + def invertirExamen(examen) + preguntas = examen.obtenerPreguntas + soluciones = examen.obtenerSoluciones + + preguntas = invertirLista(preguntas) + soluciones = invertirLista(soluciones) + + examen.establecerPreguntas(preguntas) + examen.establecerSoluciones(soluciones) + return examen + end + + end \ No newline at end of file diff --git a/lib/Examenes/pregunta.rb b/lib/Examenes/pregunta.rb index 5a8564a..078467a 100755 --- a/lib/Examenes/pregunta.rb +++ b/lib/Examenes/pregunta.rb @@ -4,7 +4,7 @@ require 'rspec' require 'Examenes/version' -module Exam +module Examenes class Examen include Comparable attr_reader :pregunta, :respuestas diff --git a/lib/inversor.rb b/lib/inversor.rb deleted file mode 100644 index 27fc4f7..0000000 --- a/lib/inversor.rb +++ /dev/null @@ -1 +0,0 @@ -require 'inversor/inversor.rb' \ No newline at end of file diff --git a/lib/inversor/inversor.rb b/lib/inversor/inversor.rb deleted file mode 100644 index 3844d12..0000000 --- a/lib/inversor/inversor.rb +++ /dev/null @@ -1,25 +0,0 @@ -class Inversor - - def invertirLista(lista) - listaTemp = Exam::List.new - lista.map { |elemento| listaTemp.push(elemento) } - return listaTemp - end - - def invertirExamen(examen) - preguntas = examen.obtenerPreguntas - soluciones = examen.obtenerSoluciones - - preguntas = invertirLista(preguntas) - soluciones = invertirLista(soluciones) - - examen.establecerPreguntas(preguntas) - examen.establecerSoluciones(soluciones) - return examen - end - -end - -class Exam::UI - include Inversor -end diff --git a/lib/inversor/version.rb b/lib/inversor/version.rb deleted file mode 100755 index f0b4497..0000000 --- a/lib/inversor/version.rb +++ /dev/null @@ -1,3 +0,0 @@ -module Inversor - VERSION = "0.0.1" -end \ No newline at end of file diff --git a/spec/spec_examen.rb b/spec/spec_examen.rb index d4fd6b9..4c6eda1 100755 --- a/spec/spec_examen.rb +++ b/spec/spec_examen.rb @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- require 'spec_helper' -require './lib/exam.rb' +require './lib/Examenes.rb' -describe Exam::Examen do +describe Examenes::Examen do before :each do - @examen = Exam::Examen.new("¿De que color es el caballo blanco de santiago?" , [ 'a) Rojo', 'b) Blanco', 'c) Azul' ]) + @examen = Examenes::Examen.new("¿De que color es el caballo blanco de santiago?" , [ 'a) Rojo', 'b) Blanco', 'c) Azul' ]) end describe "# Existencia de pregunta" do @@ -47,9 +47,9 @@ #------------------------------------------------------------------------------- -describe Exam::List do +describe Examenes::List do before :each do - @lista = Exam::List.new + @lista = Examenes::List.new end describe "# Debe existir un Nodo de la lista con sus datos y su siguiente List" do @@ -97,15 +97,15 @@ #------------------------------------------------------------------------------------------------------- -describe Exam::Examen do +describe Examenes::Examen do before :each do - @pregunta1 = Exam::Examen.new("¿Cual es la salida del siguiente codigo Ruby?/tclass Xyz/tdef pots/t@nice/tend/tend/txyz = Xyz.new/tp xyz.pots/t" , [ 'a) #', 'b) nil', 'c) 0', 'd) Ninguna de las anteriores' ]) - @pregunta2 = Exam::Examen.new("La siguiente definicion de un hash en Ruby es valida:/thash_raro = {/t[1, 2, 3] => Object.new(),/tHash.new => :toto/t}/t" , [ 'a) Cierto', 'b) Falso']) - @pregunta3 = Exam::Examen.new('¿Cual es la salida del siguiente codigo Ruby?/tclass Array/tdef say_hi/t"HEY!"/t end/t end/t /t p [1, "bob"].say_hi/t' , [ 'a) 1', 'b) bob', 'c) hey!' ,'d) Ninguna de las anteriores']) - @pregunta4 = Exam::Examen.new("¿Cual es el tipo del objeto en el siguiente codigo Ruby?/tclass Objeto/tend/t" , [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto' , 'd) Ninguna de las anteriores']) - @pregunta5 = Exam::Examen.new("Es apropiado que una clase Tablero herede de una clase Juego./t" , [ 'a) Cierto', 'b) Falso']) + @pregunta1 = Examenes::Examen.new("¿Cual es la salida del siguiente codigo Ruby?/tclass Xyz/tdef pots/t@nice/tend/tend/txyz = Xyz.new/tp xyz.pots/t" , [ 'a) #', 'b) nil', 'c) 0', 'd) Ninguna de las anteriores' ]) + @pregunta2 = Examenes::Examen.new("La siguiente definicion de un hash en Ruby es valida:/thash_raro = {/t[1, 2, 3] => Object.new(),/tHash.new => :toto/t}/t" , [ 'a) Cierto', 'b) Falso']) + @pregunta3 = Examenes::Examen.new('¿Cual es la salida del siguiente codigo Ruby?/tclass Array/tdef say_hi/t"HEY!"/t end/t end/t /t p [1, "bob"].say_hi/t' , [ 'a) 1', 'b) bob', 'c) hey!' ,'d) Ninguna de las anteriores']) + @pregunta4 = Examenes::Examen.new("¿Cual es el tipo del objeto en el siguiente codigo Ruby?/tclass Objeto/tend/t" , [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto' , 'd) Ninguna de las anteriores']) + @pregunta5 = Examenes::Examen.new("Es apropiado que una clase Tablero herede de una clase Juego./t" , [ 'a) Cierto', 'b) Falso']) - @lista_preguntas = Exam::List.new + @lista_preguntas = Examenes::List.new @lista_preguntas.push(@pregunta5,@pregunta4,@pregunta3,@pregunta2,@pregunta1) end @@ -144,9 +144,9 @@ #------------------------------------------------------------------------------------------------------- -describe Exam::Examen do +describe Examenes::Examen do before :each do - @lista = Exam::List.new + @lista = Examenes::List.new end it "Se debe poder recorrer la lista empezando desde la cabeza" do @@ -160,8 +160,8 @@ end it "La preguntas y sus respuestas deben coincidir" do - @pregunta1 = Exam::Examen.new("¿Cual es el tipo del objeto en el siguiente c´odigo Ruby? /t class Objeto /t end", [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto', 'd) Ninguna de las anteriores' ]) - @pregunta2 = Exam::Preguntas.new("Es apropiado que una clase Tablero herede de una clase Juego.") + @pregunta1 = Examenes::Examen.new("¿Cual es el tipo del objeto en el siguiente c´odigo Ruby? /t class Objeto /t end", [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto', 'd) Ninguna de las anteriores' ]) + @pregunta2 = Examenes::Preguntas.new("Es apropiado que una clase Tablero herede de una clase Juego.") @lista.push(@pregunta2,@pregunta1) expect(@lista.cabeza.value.pregunta).to eq("¿Cual es el tipo del objeto en el siguiente c´odigo Ruby? /t class Objeto /t end") @@ -178,17 +178,17 @@ it "Es pregunta1 hijo de el objeto examen" do - @pregunta1 = Exam::Examen.new("¿Cual es el tipo del objeto en el siguiente c´odigo Ruby? /t class Objeto /t end", [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto', 'd) Ninguna de las anteriores' ]) - @pregunta2 = Exam::Preguntas.new("Es apropiado que una clase Tablero herede de una clase Juego.") + @pregunta1 = Examenes::Examen.new("¿Cual es el tipo del objeto en el siguiente c´odigo Ruby? /t class Objeto /t end", [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto', 'd) Ninguna de las anteriores' ]) + @pregunta2 = Examenes::Preguntas.new("Es apropiado que una clase Tablero herede de una clase Juego.") - expect(@pregunta1).to be_instance_of Exam::Examen #pregunta1 es instancia de Examen - expect(@pregunta2).to be_instance_of Exam::Preguntas #pregunta2 es instancia de Preguntas + expect(@pregunta1).to be_instance_of Examenes::Examen #pregunta1 es instancia de Examen + expect(@pregunta2).to be_instance_of Examenes::Preguntas #pregunta2 es instancia de Preguntas - expect(@pregunta1).to be_a_kind_of Exam::Examen #pregunta1 esta en la jeraquia de Examen - expect(@pregunta1).not_to be_a_kind_of Exam::Preguntas #pregunta1 no esta en la jerarquia de Examen + expect(@pregunta1).to be_a_kind_of Examenes::Examen #pregunta1 esta en la jeraquia de Examen + expect(@pregunta1).not_to be_a_kind_of Examenes::Preguntas #pregunta1 no esta en la jerarquia de Examen - expect(@pregunta2).to be_a_kind_of Exam::Examen #pregunta2 esta en la jerarquia de Examen - expect(@pregunta2).to be_a_kind_of Exam::Preguntas #pregunta2 esta en la jerarquia de Preguntas + expect(@pregunta2).to be_a_kind_of Examenes::Examen #pregunta2 esta en la jerarquia de Examen + expect(@pregunta2).to be_a_kind_of Examenes::Preguntas #pregunta2 esta en la jerarquia de Preguntas end @@ -199,11 +199,11 @@ #------------------------------------------------------------------------------------------------------- -describe Exam::Examen do +describe Examenes::Examen do before :each do - @pregunta1 = Exam::Preguntas.new("Es apropiado que una clase Tablero herede de una clase Juego.") - @pregunta2 = Exam::Examen.new("Es apropiado que una clase Tablero herede de una clase Juego.", ["a) Cierto", "b) Falso"]) - @pregunta3 = Exam::Examen.new("¿Cual es el tipo del objeto en el siguiente c´odigo Ruby? /t class Objeto /t end", [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto', 'd) Ninguna de las anteriores' ]) + @pregunta1 = Examenes::Preguntas.new("Es apropiado que una clase Tablero herede de una clase Juego.") + @pregunta2 = Examenes::Examen.new("Es apropiado que una clase Tablero herede de una clase Juego.", ["a) Cierto", "b) Falso"]) + @pregunta3 = Examenes::Examen.new("¿Cual es el tipo del objeto en el siguiente c´odigo Ruby? /t class Objeto /t end", [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto', 'd) Ninguna de las anteriores' ]) end @@ -234,15 +234,15 @@ #------------------------------ -describe Exam::Examen do +describe Examenes::Examen do before :each do - @pregunta1 = Exam::Examen.new("¿Cual es la salida del siguiente codigo Ruby?/tclass Xyz/tdef pots/t@nice/tend/tend/txyz = Xyz.new/tp xyz.pots/t" , [ 'a) #', 'b) nil', 'c) 0', 'd) Ninguna de las anteriores' ]) - @pregunta2 = Exam::Examen.new("La siguiente definicion de un hash en Ruby es valida:/thash_raro = {/t[1, 2, 3] => Object.new(),/tHash.new => :toto/t}/t" , [ 'a) Cierto', 'b) Falso']) - @pregunta3 = Exam::Examen.new('¿Cual es la salida del siguiente codigo Ruby?/tclass Array/tdef say_hi/t"HEY!"/t end/t end/t /t p [1, "bob"].say_hi/t' , [ 'a) 1', 'b) bob', 'c) hey!' ,'d) Ninguna de las anteriores']) - @pregunta4 = Exam::Examen.new("¿Cual es el tipo del objeto en el siguiente codigo Ruby?/tclass Objeto/tend/t" , [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto' , 'd) Ninguna de las anteriores']) - @pregunta5 = Exam::Examen.new("Es apropiado que una clase Tablero herede de una clase Juego./t" , [ 'a) Cierto', 'b) Falso']) + @pregunta1 = Examenes::Examen.new("¿Cual es la salida del siguiente codigo Ruby?/tclass Xyz/tdef pots/t@nice/tend/tend/txyz = Xyz.new/tp xyz.pots/t" , [ 'a) #', 'b) nil', 'c) 0', 'd) Ninguna de las anteriores' ]) + @pregunta2 = Examenes::Examen.new("La siguiente definicion de un hash en Ruby es valida:/thash_raro = {/t[1, 2, 3] => Object.new(),/tHash.new => :toto/t}/t" , [ 'a) Cierto', 'b) Falso']) + @pregunta3 = Examenes::Examen.new('¿Cual es la salida del siguiente codigo Ruby?/tclass Array/tdef say_hi/t"HEY!"/t end/t end/t /t p [1, "bob"].say_hi/t' , [ 'a) 1', 'b) bob', 'c) hey!' ,'d) Ninguna de las anteriores']) + @pregunta4 = Examenes::Examen.new("¿Cual es el tipo del objeto en el siguiente codigo Ruby?/tclass Objeto/tend/t" , [ 'a) Una instancia de la clase Class', 'b) Una constante', 'c) Un objeto' , 'd) Ninguna de las anteriores']) + @pregunta5 = Examenes::Examen.new("Es apropiado que una clase Tablero herede de una clase Juego./t" , [ 'a) Cierto', 'b) Falso']) - @lista = Exam::List.new + @lista = Examenes::List.new @lista.push(@pregunta5,@pregunta4,@pregunta3,@pregunta2,@pregunta1) end @@ -273,20 +273,20 @@ #------------------------------ -describe Exam::Examen do +describe Examenes::Examen do before :each do - @pregunta1 = Exam::Preguntas.new("Es apropiado que una clase Tablero herede de una clase Juego.") - @pregunta2 = Exam::Examen.new('¿Cual es la salida del siguiente codigo Ruby?/tclass Array/tdef say_hi/t"HEY!"/t end/t end/t /t p [1, "bob"].say_hi/t' , [ 'a) 1', 'b) bob', 'c) hey!' ,'d) Ninguna de las anteriores']) + @pregunta1 = Examenes::Preguntas.new("Es apropiado que una clase Tablero herede de una clase Juego.") + @pregunta2 = Examenes::Examen.new('¿Cual es la salida del siguiente codigo Ruby?/tclass Array/tdef say_hi/t"HEY!"/t end/t end/t /t p [1, "bob"].say_hi/t' , [ 'a) 1', 'b) bob', 'c) hey!' ,'d) Ninguna de las anteriores']) @solucion1 = 'a' @solucion2 = 'd' - @lista_soluciones = Exam::List.new + @lista_soluciones = Examenes::List.new @lista_soluciones.push(@solucion1,@solucion2) - @lista_preguntas = Exam::List.new + @lista_preguntas = Examenes::List.new @lista_preguntas.push(@pregunta2,@pregunta1) - @examen = Exam::ExamenCompleto.new(@lista_preguntas,@lista_soluciones) + @examen = Examenes::ExamenCompleto.new(@lista_preguntas,@lista_soluciones) end it "Un examen contiene una lista de preguntas" do @@ -300,23 +300,23 @@ #------------------------------ -describe Exam::Examen do +describe Examenes::Examen do before :each do - @pregunta1 = Exam::Preguntas.new("Es apropiado que una clase Tablero herede de una clase Juego.") - @pregunta2 = Exam::Examen.new('Cual es la salida del siguiente codigo Ruby?/tclass Array/tdef say_hi/t"HEY!"/t end/t end/t /t p [1, "bob"].say_hi/t' , [ 'a) 1', 'b) bob', 'c) hey!' ,'d) Ninguna de las anteriores']) + @pregunta1 = Examenes::Preguntas.new("Es apropiado que una clase Tablero herede de una clase Juego.") + @pregunta2 = Examenes::Examen.new('Cual es la salida del siguiente codigo Ruby?/tclass Array/tdef say_hi/t"HEY!"/t end/t end/t /t p [1, "bob"].say_hi/t' , [ 'a) 1', 'b) bob', 'c) hey!' ,'d) Ninguna de las anteriores']) @solucion1 = 'a' @solucion2 = 'd' - @lista_soluciones = Exam::List.new + @lista_soluciones = Examenes::List.new @lista_soluciones.push(@solucion2, @solucion1) - @lista_preguntas = Exam::List.new + @lista_preguntas = Examenes::List.new @lista_preguntas.push(@pregunta2, @pregunta1) - @examen = Exam::ExamenCompleto.new(@lista_preguntas, @lista_soluciones) + @examen = Examenes::ExamenCompleto.new(@lista_preguntas, @lista_soluciones) - @ui = Exam::UI.new(@examen) + @ui = Examenes::UI.new(@examen) end @@ -354,17 +354,17 @@ #------------------------------ -describe Exam::Examen do +describe Examenes::Examen do before :each do - @lista_preguntas = Exam::List.new + @lista_preguntas = Examenes::List.new @lista_preguntas.push(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) - @lista_soluciones = Exam::List.new + @lista_soluciones = Examenes::List.new @lista_soluciones.push('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j') - @examen = Exam::ExamenCompleto.new(@lista_preguntas, @lista_soluciones) + @examen = Examenes::ExamenCompleto.new(@lista_preguntas, @lista_soluciones) - @ui = Exam::UI.new(@examen) + @ui = Examenes::UI.new(@examen) end it "Se da la vuelta y se comprueba desde la cabeza" do