# Path: reservoir_nn/models/sideways_time.py
# class SidewaysTime(tf.keras.layers.Layer):
#   def __init__(self, order: int = 2):
#   def call(self, data: tf.Tensor) -> tf.Tensor:
#   def get_triangular_mask(self, batch_size, maxlen, embed_dim):
#   def compute_output_shape(self, input_shape):
# def sideways_time_reservoir_classifier(
#     reservoir_weight: np.ndarray,
#     num_classes: int = 2,
#     vocab_size: int = 20000,
#     embed_dim: int = 128,
#     maxlen: int = 80,
#     reservoir_params: Optional[Dict[str, Any]] = None,
#     reservoir_base: str = "DenseReservoir") -> tf.keras.Model:


from absl.testing import absltest
from reservoir_nn.models import sideways_time
import numpy as np
import tensorflow as tf
# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

"""Tests for sideways_time."""



class SidewaysTimeTest(absltest.TestCase):

  def test_sidewise_time_layer_outputs_correct_shape(self):
    batch_size = 4
    maxlen = 3
    embed_dim = 2
    input_layer = tf.keras.Input((maxlen, embed_dim))

# Path: reservoir_nn/models/sideways_time.py
# class SidewaysTime(tf.keras.layers.Layer):
#   def __init__(self, order: int = 2):
#   def call(self, data: tf.Tensor) -> tf.Tensor:
#   def get_triangular_mask(self, batch_size, maxlen, embed_dim):
#   def compute_output_shape(self, input_shape):
# def sideways_time_reservoir_classifier(
#     reservoir_weight: np.ndarray,
#     num_classes: int = 2,
#     vocab_size: int = 20000,
#     embed_dim: int = 128,
#     maxlen: int = 80,
#     reservoir_params: Optional[Dict[str, Any]] = None,
#     reservoir_base: str = "DenseReservoir") -> tf.keras.Model:


# Path: reservoir_nn/models/sideways_time_test.py
from absl.testing import absltest
from reservoir_nn.models import sideways_time
import numpy as np
import tensorflow as tf

# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

"""Tests for sideways_time."""



class SidewaysTimeTest(absltest.TestCase):

  def test_sidewise_time_layer_outputs_correct_shape(self):
    batch_size = 4
    maxlen = 3
    embed_dim = 2
    input_layer = tf.keras.Input((maxlen, embed_dim))

    test_layer = sideways_time.SidewaysTime(order=2)(input_layer)